/* ══════════════════════════════════════════════════════════════════
   Royal Inn Travels — Celestial / Futuristic-Spiritual Design System
   ─────────────────────────────────────────────────────────────────
   Concept: Cosmic dawn over the desert. Deep indigo night meeting
   amber horizon. Islamic geometric tessellation as tech pattern.
   Glass, starlight, and carved-stone typography.
   ══════════════════════════════════════════════════════════════════ */

:root {
    /* ─── Celestial palette ──────────────────────── */
    --void:        #050510;       /* deep space */
    --midnight:    #0a0b1e;       /* night sky */
    --twilight:    #161635;       /* pre-dawn */
    --nebula:      #252550;       /* atmospheric gradient mid */
    --dusk:        #3a2c4f;       /* horizon purple */
    --ember:       #8b4a2b;       /* warm horizon */
    --dawn:        #d4915a;       /* amber sunrise */
    --dawn-soft:   #f4c68a;       /* pale sun glow */
    --star:        #fef3c7;       /* warm starlight */

    --gold:        #d4af5f;       /* sacred gold */
    --gold-bright: #f5d78a;       /* highlight */
    --gold-deep:   #8b6a2a;       /* ore */

    --crystal:     #6ee7e0;       /* prayer-bead cyan */
    --crystal-dim: rgba(110,231,224,0.15);

    --surface-1:   rgba(255,255,255,0.03);  /* glass */
    --surface-2:   rgba(255,255,255,0.06);
    --surface-3:   rgba(255,255,255,0.09);
    --border-glow: rgba(212,175,95,0.22);
    --border-soft: rgba(255,255,255,0.08);

    --text:        #f4efe4;
    --text-muted:  rgba(244,239,228,0.65);
    --text-faint:  rgba(244,239,228,0.42);
    --text-ink:    #0a0b1e;         /* on light surfaces */

    /* Ivory for light sections */
    --ivory:       #f7f3ea;
    --ivory-dim:   #e8e0d0;
    --stone:       #d4cab5;

    /* ─── Typography ──────────────────────── */
    --font-display: 'Cinzel', 'Cormorant Garamond', Georgia, serif;  /* carved stone */
    --font-body:    'Outfit', 'Manrope', system-ui, sans-serif;      /* clean geometric */
    --font-mono:    'Syne Mono', 'JetBrains Mono', monospace;        /* technical */

    /* ─── Geometry ──────────────────────── */
    --radius-xs: 2px;
    --radius-sm: 6px;
    --radius:   12px;
    --radius-lg: 20px;
    --radius-xl: 28px;

    --container: 1280px;
    --nav-h: 74px;

    --glow-gold:    0 0 48px rgba(212,175,95,0.35);
    --glow-gold-sm: 0 0 18px rgba(212,175,95,0.4);
    --glow-crystal: 0 0 32px rgba(110,231,224,0.3);
    --shadow-deep:  0 30px 80px rgba(0,0,0,0.45);
    --shadow-sm:    0 4px 14px rgba(0,0,0,0.25);

    --ease:        cubic-bezier(0.22, 0.68, 0, 1.15);
    --ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ─── Reset ──────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    color: var(--text);
    background: var(--midnight);
    overflow-x: hidden;
    min-height: 100vh;
    font-feature-settings: "ss01", "cv11";
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color .25s; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul { list-style: none; }
::selection { background: var(--gold); color: var(--text-ink); }

h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: 0.02em;
}
h1 { font-size: clamp(2.8rem, 7vw, 5.2rem); }
h2 { font-size: clamp(2rem, 4.2vw, 3.4rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
p  { color: var(--text-muted); line-height: 1.72; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* Section background — cosmic gradient */
body {
    background:
        radial-gradient(ellipse 100% 80% at 50% 0%, var(--twilight) 0%, var(--midnight) 60%),
        var(--midnight);
    background-attachment: fixed;
}

/* ═══ Sacred geometry — 8-point star pattern as global background layer ═══ */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        /* scattered stars */
        radial-gradient(1px 1px at 12% 18%, rgba(254,243,199,0.7), transparent),
        radial-gradient(1px 1px at 28% 52%, rgba(212,175,95,0.4), transparent),
        radial-gradient(0.8px 0.8px at 44% 24%, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 68% 48%, rgba(110,231,224,0.3), transparent),
        radial-gradient(0.6px 0.6px at 82% 34%, rgba(254,243,199,0.5), transparent),
        radial-gradient(1px 1px at 92% 72%, rgba(212,175,95,0.4), transparent),
        radial-gradient(0.8px 0.8px at 18% 78%, rgba(255,255,255,0.5), transparent),
        radial-gradient(0.6px 0.6px at 58% 88%, rgba(212,175,95,0.3), transparent);
    background-size: 100% 100%;
    opacity: 0.9;
}
body > * { position: relative; z-index: 1; }

/* ═════════════════════════════════════════════════════════════
   NAVBAR — celestial glass bar
   ═════════════════════════════════════════════════════════════ */
.navbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: var(--nav-h);
    background: rgba(10, 11, 30, 0.55);
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    z-index: 1000;
    display: flex;
    align-items: center;
    border-bottom: 1px solid transparent;
    background-clip: padding-box;
    transition: all .35s;
}
.navbar::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(212,175,95,0.25) 30%,
        rgba(212,175,95,0.5) 50%,
        rgba(212,175,95,0.25) 70%,
        transparent 100%);
}
.nav-inner {
    width: 100%; max-width: var(--container);
    margin: 0 auto; padding: 0 24px;
    display: flex; align-items: center; justify-content: space-between;
}

.brand {
    display: flex; align-items: center; gap: 14px;
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--text);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.brand-mark {
    width: 40px; height: 40px;
    position: relative;
    display: grid; place-items: center;
    color: var(--gold-bright);
}
.brand-mark::before, .brand-mark::after {
    content: ''; position: absolute; inset: 0;
    border: 1px solid var(--gold);
    border-radius: 4px;
}
.brand-mark::before { transform: rotate(0deg); }
.brand-mark::after  { transform: rotate(45deg); opacity: 0.5; }
.brand-mark span {
    position: relative; z-index: 1;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1rem;
    filter: drop-shadow(0 0 6px rgba(212,175,95,0.5));
}
.brand em { font-style: normal; color: var(--gold); font-weight: 400; }

.nav-links { display: none; gap: 34px; }
.nav-links a {
    position: relative;
    font-size: 0.74rem;
    font-weight: 400;
    color: var(--text-faint);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 4px 0;
    transition: color .25s;
}
.nav-links a:hover { color: var(--text); }
.nav-links a.active { color: var(--gold-bright); }
.nav-links a.active::before {
    content: '◆';
    position: absolute;
    left: -14px; top: 50%;
    transform: translateY(-50%);
    font-size: 0.55rem;
    color: var(--gold);
}

.nav-cta { display: flex; align-items: center; gap: 12px; }
.nav-cta .btn-ghost { display: none; }

.menu-toggle {
    width: 42px; height: 42px;
    border-radius: 8px;
    border: 1px solid var(--border-soft);
    background: var(--surface-1);
    display: grid; place-items: center;
    color: var(--text-muted);
}
.menu-toggle svg { width: 20px; height: 20px; }

.mobile-menu {
    position: fixed; top: var(--nav-h); left: 0; right: 0;
    background: rgba(10,11,30,0.96);
    backdrop-filter: blur(24px);
    border-bottom: 1px solid var(--border-glow);
    padding: 18px;
    transform: translateY(-120%);
    transition: transform .4s var(--ease-smooth);
    z-index: 999;
}
.mobile-menu.open { transform: translateY(0); }
.mobile-menu ul { display: flex; flex-direction: column; gap: 2px; }
.mobile-menu a {
    display: block; padding: 13px 16px; border-radius: 8px;
    font-size: 0.82rem; letter-spacing: 0.08em;
    color: var(--text-muted); transition: all .15s;
}
.mobile-menu a:hover { background: var(--surface-2); color: var(--text); }
.mobile-menu .divider { height: 1px; background: var(--border-soft); margin: 8px 0; }

@media (min-width: 960px) {
    .nav-links { display: flex; }
    .nav-cta .btn-ghost { display: inline-flex; }
    .menu-toggle { display: none; }
    .mobile-menu { display: none !important; }
}

/* ═════════════════════════════════════════════════════════════
   BUTTONS — metallic pill with glow
   ═════════════════════════════════════════════════════════════ */
.btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 26px;
    border-radius: 999px;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: all .35s var(--ease-smooth);
    white-space: nowrap;
    overflow: hidden;
    isolation: isolate;
}

.btn-primary {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-bright) 50%, var(--gold) 100%);
    background-size: 200% 200%;
    color: var(--text-ink);
    font-weight: 600;
    box-shadow:
        0 0 0 1px rgba(212,175,95,0.6) inset,
        0 8px 28px rgba(212,175,95,0.3);
}
.btn-primary:hover {
    background-position: 100% 100%;
    transform: translateY(-2px);
    box-shadow:
        0 0 0 1px var(--gold-bright) inset,
        0 12px 36px rgba(212,175,95,0.5),
        0 0 60px rgba(212,175,95,0.25);
}

.btn-ghost {
    background: var(--surface-1);
    color: var(--text);
    border: 1px solid var(--border-soft);
    backdrop-filter: blur(8px);
}
.btn-ghost::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, transparent, rgba(212,175,95,0.12) 50%, transparent);
    opacity: 0;
    transition: opacity .3s;
    z-index: -1;
}
.btn-ghost:hover {
    border-color: var(--gold);
    color: var(--gold-bright);
}
.btn-ghost:hover::before { opacity: 1; }

.btn-outline {
    background: transparent;
    color: var(--text-ink);
    border: 1px solid rgba(10,11,30,0.2);
}
.btn-outline:hover { border-color: var(--text-ink); background: rgba(10,11,30,0.04); }

.btn-sky {
    background: linear-gradient(135deg, var(--crystal) 0%, #5ac4be 100%);
    color: var(--text-ink);
    font-weight: 600;
    box-shadow: 0 4px 20px rgba(110,231,224,0.25);
}
.btn-sky:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(110,231,224,0.4); }

.btn-dark {
    background: var(--void);
    color: var(--text);
    border: 1px solid var(--border-soft);
}
.btn-dark:hover { border-color: var(--gold); }

.btn-block { width: 100%; }
.btn-sm { padding: 9px 18px; font-size: 0.72rem; }
.btn-lg { padding: 16px 34px; font-size: 0.9rem; }

/* ═════════════════════════════════════════════════════════════
   HERO — cosmic dawn with mihrab arch
   ═════════════════════════════════════════════════════════════ */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 0 24px;
    overflow: hidden;
}

/* Aurora gradient wash */
.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 70% at 80% 60%, rgba(139,74,43,0.45), transparent 60%),
        radial-gradient(ellipse 50% 50% at 20% 30%, rgba(37,37,80,0.6), transparent 70%),
        radial-gradient(ellipse 40% 30% at 60% 15%, rgba(110,231,224,0.12), transparent 70%);
    pointer-events: none;
    z-index: 1;
}

/* Horizon glow at bottom */
.hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 35%;
    background: linear-gradient(180deg, transparent 0%, rgba(212,145,90,0.15) 60%, rgba(244,198,138,0.25) 100%);
    filter: blur(2px);
    pointer-events: none;
    z-index: 1;
}

.hero-grid {
    position: relative; z-index: 3;
    max-width: var(--container); margin: 0 auto; width: 100%;
    padding: calc(var(--nav-h) + 80px) 0 120px;
    display: grid; gap: 60px; align-items: center;
}
@media (min-width: 900px) {
    .hero-grid { grid-template-columns: 1.1fr 1fr; gap: 80px; }
}

/* Hero copy */
.hero-eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 8px 16px;
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: 999px;
    backdrop-filter: blur(10px);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-bottom: 32px;
    animation: eyebrowFade 1s var(--ease-smooth) forwards;
}
.hero-eyebrow .dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--gold-bright);
    box-shadow: 0 0 8px var(--gold-bright);
    animation: starPulse 2s ease-in-out infinite;
}
@keyframes eyebrowFade { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:none} }
@keyframes starPulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 8px var(--gold-bright); }
    50%      { opacity: 0.6; box-shadow: 0 0 14px var(--gold-bright), 0 0 24px rgba(212,175,95,0.4); }
}

.hero h1 {
    color: var(--text);
    font-family: var(--font-display);
    line-height: 1.0;
    margin-bottom: 26px;
    animation: heroLift 1.2s .15s var(--ease-smooth) forwards;
}
.hero h1 em {
    font-style: italic;
    background: linear-gradient(135deg, var(--gold-bright) 0%, var(--dawn) 50%, var(--gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    position: relative;
}
.hero h1 em::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    bottom: -6px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
    opacity: 0.5;
}
@keyframes heroLift { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:none} }

.hero .lead {
    font-size: 1.05rem;
    color: var(--text-muted);
    max-width: 500px;
    line-height: 1.75;
    margin-bottom: 40px;
    animation: heroLift 1.2s .3s var(--ease-smooth) forwards;
}

.hero-actions {
    display: flex; flex-wrap: wrap; gap: 14px;
    margin-bottom: 56px;
    animation: heroLift 1.2s .45s var(--ease-smooth) forwards;
}

.hero-stats {
    display: flex; gap: 40px;
    padding-top: 36px;
    border-top: 1px solid var(--border-soft);
    animation: heroLift 1.2s .6s var(--ease-smooth) forwards;
}
.hero-stats .stat strong {
    font-family: var(--font-display);
    font-size: 2.2rem;
    color: var(--gold-bright);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
    text-shadow: 0 0 24px rgba(212,175,95,0.25);
}
.hero-stats .stat span {
    font-family: var(--font-mono);
    font-size: 0.66rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-faint);
}

/* ─── Hero visual: real Kaaba illustration ─────── */
.hero-visual {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    aspect-ratio: 1 / 1.1;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: heroLift 1.4s .25s var(--ease-smooth) forwards;
}

/* The ambient halo behind the Kaaba */
.hero-halo {
    position: absolute;
    inset: 10% 5% 0 5%;
    background:
        radial-gradient(ellipse 50% 60% at 50% 55%, rgba(212,175,95,0.25), transparent 65%),
        radial-gradient(ellipse 80% 80% at 50% 70%, rgba(139,74,43,0.3), transparent 70%);
    filter: blur(4px);
    pointer-events: none;
}

/* Circumambulation (tawaf) orbit rings around the Kaaba */
.tawaf-ring {
    position: absolute;
    left: 50%;
    top: 58%;
    border-radius: 50%;
    border: 1px dashed rgba(212,175,95,0.22);
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.tawaf-ring-1 {
    width: 360px;
    height: 140px;
    animation: orbitSpin 90s linear infinite;
}
.tawaf-ring-2 {
    width: 440px;
    height: 170px;
    border-color: rgba(110,231,224,0.12);
    animation: orbitSpin 140s linear infinite reverse;
}
.tawaf-ring::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold-bright);
    box-shadow: 0 0 10px var(--gold-bright);
    transform: translateX(-50%);
}
.tawaf-ring-2::before { background: var(--crystal); box-shadow: 0 0 10px var(--crystal); }
@keyframes orbitSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }

/* The Kaaba SVG itself */
.kaaba-svg {
    position: relative;
    z-index: 2;
    width: 85%;
    max-width: 400px;
    height: auto;
    filter:
        drop-shadow(0 30px 40px rgba(0,0,0,0.6))
        drop-shadow(0 0 80px rgba(212,175,95,0.2));
    animation: kaabaRise 1.8s .4s var(--ease-smooth) forwards;
}
@keyframes kaabaRise {
    from { opacity: 0; transform: translateY(30px) scale(0.95); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Floating "departures open" status pill */
.kaaba-status {
    position: absolute;
    top: 8%;
    right: 8%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    background: rgba(10,11,30,0.7);
    border: 1px solid var(--border-glow);
    border-radius: 999px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text);
    z-index: 4;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    animation: heroLift 1.4s 1s var(--ease-smooth) forwards;
}
.kaaba-status .pulse {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #60a5fa;
    box-shadow: 0 0 8px #60a5fa;
    animation: livePulse 2s ease-out infinite;
}
@keyframes livePulse {
    0%,100% { opacity: 1; transform: scale(1); }
    50%     { opacity: 0.6; transform: scale(1.3); }
}

/* Plane streak across hero sky */
.plane-streak {
    position: absolute;
    top: 18%;
    left: -10%;
    width: 70%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
    filter: blur(0.6px);
    animation: streakAcross 12s ease-in-out infinite 2s;
    opacity: 0;
    z-index: 1;
}
@keyframes streakAcross {
    0%   { left: -30%; opacity: 0; transform: rotate(-6deg); }
    15%  { opacity: 0.85; }
    85%  { opacity: 0.85; }
    100% { left: 130%; opacity: 0; transform: rotate(-6deg); }
}

@media (max-width: 640px) {
    .hero-visual { max-width: 340px; }
    .tawaf-ring-1 { width: 280px; height: 110px; }
    .tawaf-ring-2 { width: 340px; height: 130px; }
    .kaaba-status { top: 4%; right: 4%; font-size: 0.6rem; padding: 6px 12px; }
}

/* ═════════════════════════════════════════════════════════════
   SEARCH BAR — holographic glass panel
   ═════════════════════════════════════════════════════════════ */
.search-bar {
    max-width: var(--container);
    margin: -40px auto 0;
    background: rgba(10, 11, 30, 0.6);
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-deep), 0 0 60px rgba(212,175,95,0.1);
    padding: 20px;
    display: grid;
    gap: 14px;
    position: relative;
    z-index: 10;
    overflow: hidden;
}
.search-bar::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
    opacity: 0.6;
}
.search-bar .field label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 6px;
}
.search-bar .field input,
.search-bar .field select {
    width: 100%;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    font-family: var(--font-body);
    font-size: 0.92rem;
    color: var(--text);
    background: var(--surface-1);
    outline: none;
    transition: all .2s;
}
.search-bar .field input::placeholder { color: var(--text-faint); }
.search-bar .field input:focus,
.search-bar .field select:focus {
    border-color: var(--gold);
    background: var(--surface-2);
    box-shadow: 0 0 0 3px rgba(212,175,95,0.12);
}
.search-bar .field select option { background: var(--midnight); color: var(--text); }
@media (min-width: 760px) {
    .search-bar { grid-template-columns: 1fr 1fr 1.1fr 1fr auto; align-items: end; }
}

/* ═════════════════════════════════════════════════════════════
   SECTIONS
   ═════════════════════════════════════════════════════════════ */
.section { padding: 120px 24px; position: relative; }
.section-dawn {
    background:
        radial-gradient(ellipse 80% 100% at 50% 100%, rgba(139,74,43,0.3), transparent 60%),
        radial-gradient(ellipse 60% 50% at 80% 30%, rgba(110,231,224,0.06), transparent 70%);
}
.section-light {
    background: var(--ivory);
    color: var(--text-ink);
}
.section-light p { color: rgba(10,11,30,0.6); }
.section-light h2, .section-light h3 { color: var(--text-ink); }

/* Section header with compass divider */
.section-head { max-width: var(--container); margin: 0 auto 60px; text-align: center; }
.section-head .eyebrow {
    display: inline-flex; align-items: center; gap: 14px;
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.section-head .eyebrow::before,
.section-head .eyebrow::after {
    content: ''; width: 40px; height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold));
}
.section-head .eyebrow::after { background: linear-gradient(270deg, transparent, var(--gold)); }

.section-head h2 {
    font-family: var(--font-display);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.1;
}
.section-head h2 em {
    font-style: italic;
    background: linear-gradient(135deg, var(--gold-bright), var(--dawn));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.section-head > p {
    max-width: 540px;
    margin: 18px auto 0;
    font-size: 1rem;
}

/* ═════════════════════════════════════════════════════════════
   PAGE INTRO — reused on packages/hotels/etc
   ═════════════════════════════════════════════════════════════ */
.page-intro {
    padding: calc(var(--nav-h) + 80px) 24px 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.page-intro::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 50% 100%, rgba(139,74,43,0.25), transparent 60%),
        radial-gradient(ellipse 40% 50% at 30% 30%, rgba(37,37,80,0.5), transparent 70%);
    pointer-events: none;
}
.page-intro > * { position: relative; }
.page-intro .eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--font-mono);
    font-size: 0.66rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 18px;
}
.page-intro .eyebrow::before {
    content: '◆'; color: var(--gold); font-size: 0.5rem;
}
.page-intro h1 {
    max-width: 800px;
    margin: 0 auto 22px;
    color: var(--text);
}
.page-intro p {
    max-width: 600px;
    margin: 0 auto;
    color: var(--text-muted);
    font-size: 1.05rem;
}

/* ═════════════════════════════════════════════════════════════
   GRID HELPERS
   ═════════════════════════════════════════════════════════════ */
.grid { display: grid; gap: 22px; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.flex { display: flex; }
.between { justify-content: space-between; align-items: center; }

/* ═════════════════════════════════════════════════════════════
   PACKAGE CARDS — glass with amber under-glow
   ═════════════════════════════════════════════════════════════ */
.package-card {
    position: relative;
    background: linear-gradient(180deg, var(--surface-2) 0%, var(--surface-1) 100%);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex; flex-direction: column;
    backdrop-filter: blur(16px);
    transition: all .35s var(--ease-smooth);
    isolation: isolate;
}
.package-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(135deg, transparent 40%, rgba(212,175,95,0.35) 100%);
    border-radius: inherit;
    opacity: 0;
    transition: opacity .35s;
    z-index: -1;
}
.package-card:hover {
    transform: translateY(-6px);
    border-color: var(--border-glow);
    box-shadow:
        0 24px 60px rgba(0,0,0,0.4),
        0 0 80px rgba(212,175,95,0.15);
}
.package-card:hover::before { opacity: 1; }

.package-card .media {
    height: 200px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--twilight), var(--dusk));
    display: grid;
    place-items: center;
}
.package-card .media::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 50% 80%, rgba(212,175,95,0.25), transparent 60%),
        radial-gradient(ellipse at 30% 30%, rgba(110,231,224,0.1), transparent 60%);
    pointer-events: none;
    z-index: 1;
}
.package-card .media-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: 0;
}
.package-card .media:has(.media-img)::before {
    background:
        linear-gradient(180deg, rgba(5,5,16,0.1) 0%, transparent 40%, rgba(5,5,16,0.65) 100%);
}
.package-card .media-icon {
    position: relative; z-index: 1;
    font-family: var(--font-display);
    font-size: 4rem;
    color: rgba(212,175,95,0.25);
    user-select: none;
    filter: drop-shadow(0 0 24px rgba(212,175,95,0.3));
}

.tier-badge {
    position: absolute;
    top: 14px; left: 14px;
    padding: 5px 12px;
    background: rgba(5,5,16,0.72);
    backdrop-filter: blur(10px);
    border: 1px solid var(--border-glow);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text);
    z-index: 2;
}
.tier-badge.vip, .tier-badge.luxury {
    background: linear-gradient(135deg, var(--gold), var(--gold-bright));
    color: var(--text-ink);
    font-weight: 600;
    border-color: transparent;
}

.package-card .body { padding: 22px 22px 20px; flex: 1; display: flex; flex-direction: column; }
.package-card h3 {
    color: var(--text);
    font-size: 1.2rem;
    margin-bottom: 12px;
    line-height: 1.2;
}
.package-card .meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.package-card .meta span {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    color: var(--text-faint);
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
}
.package-card .desc { font-size: 0.86rem; color: var(--text-muted); margin-bottom: 18px; line-height: 1.58; flex: 1; }
.package-card .foot {
    display: flex; justify-content: space-between; align-items: flex-end;
    padding-top: 16px;
    border-top: 1px solid var(--border-soft);
}
.package-card .price {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.55rem;
    color: var(--gold-bright);
    line-height: 1;
    text-shadow: 0 0 20px rgba(212,175,95,0.2);
}
.package-card .price small {
    display: block;
    margin-top: 4px;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-style: normal;
    color: var(--text-faint);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* ═════════════════════════════════════════════════════════════
   HOTEL CARDS
   ═════════════════════════════════════════════════════════════ */
.hotel-card {
    position: relative;
    background: linear-gradient(180deg, var(--surface-2), var(--surface-1));
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex; flex-direction: column;
    backdrop-filter: blur(16px);
    transition: all .35s var(--ease-smooth);
}
.hotel-card:hover {
    transform: translateY(-4px);
    border-color: var(--border-glow);
    box-shadow: 0 24px 60px rgba(0,0,0,0.4);
}
.hotel-card .media {
    height: 180px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--twilight), var(--dusk));
}
.hotel-card .media-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hotel-card .city-tag {
    position: absolute; top: 12px; left: 12px;
    padding: 4px 10px;
    background: linear-gradient(135deg, var(--gold), var(--gold-bright));
    color: var(--text-ink);
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border-radius: 4px;
    z-index: 2;
}
.hotel-card .stars {
    position: absolute; top: 12px; right: 12px;
    color: var(--gold-bright);
    font-size: 0.85rem;
    letter-spacing: 2px;
    z-index: 2;
    text-shadow: 0 0 10px rgba(212,175,95,0.6);
}
.hotel-card .body { padding: 18px; flex: 1; display: flex; flex-direction: column; }
.hotel-card h3 { color: var(--text); font-size: 1.08rem; margin-bottom: 6px; }
.hotel-card .dist {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    color: var(--gold);
    margin-bottom: 10px;
}
.hotel-card p { font-size: 0.84rem; flex: 1; }
.hotel-card .foot {
    display: flex; justify-content: space-between; align-items: flex-end;
    padding-top: 14px; margin-top: 12px;
    border-top: 1px solid var(--border-soft);
}
.hotel-card .price {
    font-family: var(--font-display); font-style: italic;
    font-size: 1.35rem; color: var(--gold-bright); line-height: 1;
}
.hotel-card .price small {
    display: block; margin-top: 3px;
    font-family: var(--font-mono); font-style: normal; font-size: 0.6rem;
    color: var(--text-faint); letter-spacing: 0.1em; text-transform: uppercase;
}

/* ═════════════════════════════════════════════════════════════
   PROMO CARDS
   ═════════════════════════════════════════════════════════════ */
.promo-card {
    position: relative;
    background: linear-gradient(180deg, var(--surface-3), var(--surface-1));
    border: 1px solid var(--border-glow);
    border-radius: var(--radius);
    overflow: hidden;
    padding: 32px;
    backdrop-filter: blur(16px);
}
.promo-card::before {
    content: '';
    position: absolute; top: -50%; right: -30%;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(212,175,95,0.18), transparent 60%);
    pointer-events: none;
}
.promo-image { margin: -32px -32px 22px; height: 150px; overflow: hidden; border-bottom: 1px solid var(--border-glow); }
.promo-image img { width: 100%; height: 100%; object-fit: cover; }
.promo-discount {
    font-family: var(--font-display);
    font-size: 3rem;
    font-style: italic;
    background: linear-gradient(135deg, var(--gold-bright), var(--dawn));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    line-height: 1; margin-bottom: 10px;
    text-shadow: 0 0 40px rgba(212,175,95,0.3);
    position: relative;
}
.promo-card h3 { color: var(--text); margin-bottom: 10px; position: relative; }
.promo-card p { color: var(--text-muted); margin-bottom: 18px; position: relative; }
.promo-code {
    position: relative;
    display: inline-block;
    padding: 8px 18px;
    border: 1px dashed var(--gold);
    border-radius: 6px;
    font-family: var(--font-mono);
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    color: var(--gold-bright);
    background: rgba(212,175,95,0.08);
    margin-bottom: 18px;
}

/* Countdown timer */
.countdown { display: flex; gap: 8px; margin: 16px 0; position: relative; }
.countdown .cd-box {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    padding: 10px 12px;
    border-radius: 8px;
    min-width: 58px;
    text-align: center;
}
.countdown .cd-box strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-style: italic;
    color: var(--gold-bright);
    line-height: 1;
}
.countdown .cd-box span {
    font-family: var(--font-mono);
    font-size: 0.58rem;
    color: var(--text-faint);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: block;
    margin-top: 4px;
}

/* ═════════════════════════════════════════════════════════════
   TESTIMONIAL CARDS
   ═════════════════════════════════════════════════════════════ */
.testi-card {
    position: relative;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 30px;
    backdrop-filter: blur(14px);
    transition: all .3s;
}
.testi-card:hover {
    border-color: var(--border-glow);
    transform: translateY(-3px);
}
.testi-card::before {
    content: '"';
    position: absolute;
    top: 16px; right: 22px;
    font-family: var(--font-display);
    font-size: 5rem;
    color: var(--gold);
    opacity: 0.2;
    line-height: 1;
}
.testi-card .stars {
    color: var(--gold-bright);
    font-size: 0.88rem;
    letter-spacing: 2px;
    margin-bottom: 14px;
    text-shadow: 0 0 10px rgba(212,175,95,0.4);
}
.testi-card p { color: var(--text-muted); font-size: 0.92rem; line-height: 1.7; margin-bottom: 20px; }
.testi-card .author { display: flex; align-items: center; gap: 12px; }
.testi-card .avatar {
    width: 42px; height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--twilight), var(--dusk));
    border: 1px solid var(--border-glow);
    display: grid; place-items: center;
    font-family: var(--font-display);
    font-style: italic;
    color: var(--gold-bright);
    font-size: 1.1rem;
    flex-shrink: 0;
}
.testi-card .author strong { color: var(--text); font-size: 0.92rem; display: block; }
.testi-card .author small { color: var(--text-faint); font-size: 0.75rem; font-family: var(--font-mono); letter-spacing: 0.06em; }

/* ═════════════════════════════════════════════════════════════
   VALUES / CTA / PAGE STRIPS
   ═════════════════════════════════════════════════════════════ */
.values-strip {
    position: relative;
    padding: 72px 24px;
    border-top: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
}
.values-strip::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(212,175,95,0.05), transparent 70%);
    pointer-events: none;
}
.values-grid {
    max-width: var(--container); margin: 0 auto;
    display: grid; gap: 36px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    position: relative;
}
.value-item { text-align: center; }
.value-item .icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px;
    margin-bottom: 14px;
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: 14px;
    color: var(--gold-bright);
    font-family: var(--font-display); font-size: 1.4rem; font-style: italic;
}
.value-item strong {
    display: block; color: var(--text);
    font-family: var(--font-display);
    font-size: 1.05rem; font-style: italic;
    margin-bottom: 8px;
}
.value-item p { color: var(--text-faint); font-size: 0.84rem; line-height: 1.55; max-width: 220px; margin: 0 auto; }

/* CTA block */
.cta-block {
    position: relative;
    padding: 100px 24px;
    text-align: center;
    overflow: hidden;
}
.cta-block::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 70% 80% at 50% 50%, rgba(139,74,43,0.3), transparent 60%),
        radial-gradient(ellipse 40% 60% at 20% 30%, rgba(110,231,224,0.08), transparent 70%);
    pointer-events: none;
}
.cta-inner {
    position: relative;
    max-width: 720px; margin: 0 auto;
    padding: 60px 40px;
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(20px);
}
.cta-inner::before {
    content: '';
    position: absolute;
    top: 0; left: 20%; right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
}
.cta-inner h2 { color: var(--text); margin-bottom: 14px; }
.cta-inner h2 em { font-style: italic; color: var(--gold-bright); }
.cta-inner p { color: var(--text-muted); max-width: 520px; margin: 0 auto 28px; }
.cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ═════════════════════════════════════════════════════════════
   FILTER BAR
   ═════════════════════════════════════════════════════════════ */
.filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.filter-bar button, .filter-bar .filter-btn {
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid var(--border-soft);
    background: var(--surface-1);
    backdrop-filter: blur(8px);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-faint);
    cursor: pointer; transition: all .2s;
    text-decoration: none; display: inline-block;
}
.filter-bar button:hover, .filter-bar .filter-btn:hover {
    border-color: var(--gold);
    color: var(--gold-bright);
}
.filter-bar button.active, .filter-bar .filter-btn.active {
    background: linear-gradient(135deg, var(--gold), var(--gold-bright));
    border-color: transparent;
    color: var(--text-ink);
    font-weight: 600;
}

/* ═════════════════════════════════════════════════════════════
   FORMS
   ═════════════════════════════════════════════════════════════ */
.form-wrap {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 32px;
    backdrop-filter: blur(16px);
}
.form-grid { display: grid; gap: 18px; }
.form-grid.cols-2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 600px) { .form-grid.cols-2 { grid-template-columns: 1fr; } }
.field-group { display: flex; flex-direction: column; gap: 6px; }
.field-group label {
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
}
.input, .select, .textarea {
    width: 100%;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 11px 14px;
    font-family: var(--font-body); font-size: 0.92rem;
    color: var(--text);
    background: var(--surface-1);
    outline: none;
    transition: all .2s;
}
.input::placeholder, .textarea::placeholder { color: var(--text-faint); }
.input:focus, .select:focus, .textarea:focus {
    border-color: var(--gold);
    background: var(--surface-2);
    box-shadow: 0 0 0 3px rgba(212,175,95,0.12);
}
.select option { background: var(--midnight); color: var(--text); }
.textarea { resize: vertical; min-height: 110px; }

/* ═════════════════════════════════════════════════════════════
   ALERTS
   ═════════════════════════════════════════════════════════════ */
.alert { padding: 14px 18px; border-radius: var(--radius-sm); font-size: 0.9rem; border: 1px solid; margin-bottom: 14px; backdrop-filter: blur(10px); }
.alert-success { background: rgba(37,99,235,0.08); border-color: rgba(37,99,235,0.3); color: #93c5fd; }
.alert-error   { background: rgba(248,113,113,0.08); border-color: rgba(248,113,113,0.3); color: #fca5a5; }
.alert-info    { background: rgba(212,175,95,0.08); border-color: rgba(212,175,95,0.3); color: var(--gold-bright); }

/* ═════════════════════════════════════════════════════════════
   BADGES
   ═════════════════════════════════════════════════════════════ */
.badge, .badge-pending, .badge-approved, .badge-confirmed, .badge-rejected,
.badge-completed, .badge-contacted, .badge-active, .badge-inactive, .badge-sold {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 1px solid currentColor;
    background: rgba(255,255,255,0.03);
}
.badge-pending   { color: #fbbf24; }
.badge-approved, .badge-confirmed, .badge-active { color: #93c5fd; }
.badge-rejected, .badge-sold { color: #fca5a5; }
.badge-completed { color: #c4b5fd; }
.badge-contacted { color: #7dd3fc; }
.badge-inactive  { color: var(--text-faint); }

/* ═════════════════════════════════════════════════════════════
   AUTH PAGES
   ═════════════════════════════════════════════════════════════ */
.auth-wrap {
    min-height: 100vh;
    display: grid; place-items: center;
    padding: 24px;
    position: relative;
    overflow: hidden;
}
.auth-wrap::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 50% 60% at 50% 20%, rgba(139,74,43,0.3), transparent 60%),
        radial-gradient(ellipse 40% 50% at 50% 90%, rgba(37,37,80,0.4), transparent 60%);
    pointer-events: none;
}
.auth-card {
    position: relative;
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius-lg);
    padding: 44px;
    width: 100%; max-width: 440px;
    backdrop-filter: blur(20px);
    box-shadow: var(--shadow-deep);
}
.auth-card::before {
    content: '';
    position: absolute;
    top: 0; left: 20%; right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
}
.auth-card h2 { color: var(--text); margin-bottom: 6px; }
.auth-card h2 em { font-style: italic; color: var(--gold-bright); }
.auth-card .sub { color: var(--text-muted); font-size: 0.9rem; margin-bottom: 28px; }
.auth-card .foot { margin-top: 20px; text-align: center; font-size: 0.85rem; color: var(--text-faint); }
.auth-card .foot a { color: var(--gold-bright); font-weight: 500; }

/* ═════════════════════════════════════════════════════════════
   DASHBOARD
   ═════════════════════════════════════════════════════════════ */
.dash-wrap {
    max-width: var(--container); margin: 0 auto;
    padding: calc(var(--nav-h) + 40px) 24px 60px;
    display: grid; gap: 28px;
}
@media (min-width: 860px) { .dash-wrap { grid-template-columns: 230px 1fr; align-items: start; } }
.dash-side {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 26px;
    backdrop-filter: blur(14px);
    position: sticky; top: calc(var(--nav-h) + 18px);
}
.dash-side h4 { color: var(--text); font-size: 1rem; margin-bottom: 4px; }
.dash-side .email { color: var(--text-faint); font-size: 0.78rem; margin-bottom: 22px; font-family: var(--font-mono); }
.dash-nav { display: flex; flex-direction: column; gap: 3px; }
.dash-nav a {
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.82rem;
    color: var(--text-faint);
    transition: all .18s;
}
.dash-nav a:hover { background: var(--surface-2); color: var(--text); }
.dash-nav a.active {
    background: rgba(212,175,95,0.14);
    color: var(--gold-bright);
}
.dash-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
    margin-bottom: 30px;
}
.stat-card {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 20px;
    text-align: center;
    backdrop-filter: blur(14px);
    transition: border-color .2s;
}
.stat-card:hover { border-color: var(--border-glow); }
.stat-card .val {
    display: block;
    font-family: var(--font-display);
    font-size: 2rem; font-style: italic;
    color: var(--gold-bright);
    line-height: 1;
    margin-bottom: 6px;
    text-shadow: 0 0 20px rgba(212,175,95,0.25);
}
.stat-card .lbl {
    font-family: var(--font-mono);
    font-size: 0.64rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
}

/* ═════════════════════════════════════════════════════════════
   TABLES
   ═════════════════════════════════════════════════════════════ */
.table-wrap {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    overflow: hidden;
    margin-bottom: 20px;
    backdrop-filter: blur(14px);
}
.table-head { padding: 18px 22px; border-bottom: 1px solid var(--border-soft); }
.table-head h3 {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    color: var(--text);
}
.tbl { width: 100%; border-collapse: collapse; }
.tbl th {
    text-align: left;
    padding: 12px 16px;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    background: var(--surface-1);
    border-bottom: 1px solid var(--border-soft);
}
.tbl td {
    padding: 14px 16px;
    font-size: 0.88rem;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-soft);
    vertical-align: middle;
}
.tbl tbody tr:last-child td { border-bottom: none; }
.tbl tbody tr:hover td { background: var(--surface-1); color: var(--text); }
.tbl strong { color: var(--text); }

/* ═════════════════════════════════════════════════════════════
   ADMIN PANEL
   ═════════════════════════════════════════════════════════════ */
.admin-body { background: var(--midnight); min-height: 100vh; }
.admin-top {
    position: fixed; top: 0; left: 0; right: 0;
    height: var(--nav-h);
    background: rgba(10,11,30,0.85);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border-glow);
    display: flex; align-items: center;
    padding: 0 24px; gap: 16px; z-index: 1000;
}
.admin-top .brand { color: var(--text); }
.admin-top .admin-label {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold);
    padding: 4px 10px;
    border: 1px solid var(--border-glow);
    border-radius: 4px;
}
.admin-wrap {
    display: grid;
    min-height: calc(100vh - var(--nav-h));
    padding-top: var(--nav-h);
}
@media (min-width: 860px) { .admin-wrap { grid-template-columns: 230px 1fr; } }
.admin-side {
    background: var(--surface-1);
    border-right: 1px solid var(--border-soft);
    padding: 18px 12px;
    min-height: calc(100vh - var(--nav-h));
    position: sticky; top: var(--nav-h); align-self: start;
    height: calc(100vh - var(--nav-h));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--border-soft) transparent;
}
.admin-side::-webkit-scrollbar { width: 6px; }
.admin-side::-webkit-scrollbar-thumb { background: var(--border-soft); border-radius: 3px; }
.admin-nav { display: flex; flex-direction: column; gap: 1px; }
.admin-nav a {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.78rem;
    color: var(--text-faint);
    transition: all .18s;
    white-space: nowrap;
}
.admin-nav a:hover { background: var(--surface-2); color: var(--text); }
.admin-nav a.active { background: rgba(212,175,95,0.14); color: var(--gold-bright); }
.admin-main { padding: 30px 28px; }
.admin-main h2 { color: var(--text); margin-bottom: 22px; font-size: 1.6rem; }

/* ═════════════════════════════════════════════════════════════
   FOOTER
   ═════════════════════════════════════════════════════════════ */
.footer {
    position: relative;
    padding: 80px 24px 32px;
    border-top: 1px solid var(--border-soft);
    background: radial-gradient(ellipse 100% 100% at 50% 0%, rgba(139,74,43,0.1), transparent 60%), var(--void);
}
.footer .container { max-width: var(--container); }
.footer-grid {
    display: grid; gap: 48px;
    grid-template-columns: 1fr;
    margin-bottom: 56px;
}
@media (min-width: 700px) { .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); } }
.footer .brand-foot {
    font-family: var(--font-display);
    font-size: 1.6rem;
    color: var(--text);
    margin-bottom: 16px;
    letter-spacing: 0.08em;
}
.footer .brand-foot em { font-style: italic; color: var(--gold-bright); }
.footer .desc { font-size: 0.9rem; line-height: 1.68; max-width: 280px; color: var(--text-muted); }
.footer h4 {
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 18px;
}
.footer a {
    display: block;
    padding: 6px 0;
    font-size: 0.88rem;
    color: var(--text-muted);
    transition: color .18s;
}
.footer a:hover { color: var(--gold-bright); }
.social-row { display: flex; gap: 10px; margin-top: 16px; }
.social-row a {
    width: 34px; height: 34px;
    border: 1px solid var(--border-soft);
    border-radius: 50%;
    display: grid; place-items: center;
    color: var(--text-faint);
    padding: 0;
    transition: all .2s;
}
.social-row a:hover { border-color: var(--gold); color: var(--gold-bright); background: var(--surface-1); }
.footer .copy {
    padding-top: 24px;
    border-top: 1px solid var(--border-soft);
    font-family: var(--font-mono);
    font-size: 0.74rem;
    letter-spacing: 0.06em;
    color: var(--text-faint);
    text-align: center;
}

/* ═════════════════════════════════════════════════════════════
   WHATSAPP FAB
   ═════════════════════════════════════════════════════════════ */
.wa-fab, .whatsapp-fab {
    position: fixed;
    bottom: 28px; right: 28px;
    width: 58px; height: 58px;
    border-radius: 50%;
    background: #25d366;
    display: grid; place-items: center;
    box-shadow:
        0 12px 36px rgba(37,211,102,0.5),
        0 0 0 4px rgba(37,211,102,0.18);
    z-index: 900;
    color: #fff;
    transition: transform .3s var(--ease), box-shadow .3s;
    isolation: isolate;
}
.wa-fab::before, .whatsapp-fab::before {
    content: '';
    position: absolute; inset: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: 0 0 0 0 rgba(37,211,102,0.6);
    animation: waRipple 2.5s ease-out infinite;
    pointer-events: none;
}
@keyframes waRipple {
    0%   { box-shadow: 0 0 0 0 rgba(37,211,102,0.55); }
    70%  { box-shadow: 0 0 0 20px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
.wa-fab:hover, .whatsapp-fab:hover {
    transform: scale(1.08);
    box-shadow:
        0 16px 42px rgba(37,211,102,0.65),
        0 0 0 6px rgba(37,211,102,0.25);
}
.wa-fab svg, .whatsapp-fab svg {
    width: 28px; height: 28px;
    fill: #fff;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
    position: relative;
    z-index: 1;
}

@media (max-width: 640px) {
    .wa-fab, .whatsapp-fab { bottom: 20px; right: 20px; width: 54px; height: 54px; }
    .wa-fab svg, .whatsapp-fab svg { width: 26px; height: 26px; }
}

/* ═════════════════════════════════════════════════════════════
   GROUP SEATS — flight inventory
   ═════════════════════════════════════════════════════════════ */
.seat-filter-bar {
    display: grid; gap: 12px;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 20px;
    margin-bottom: 28px;
    backdrop-filter: blur(14px);
}
@media (min-width: 640px) { .seat-filter-bar { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .seat-filter-bar { grid-template-columns: 1fr 1fr 1.2fr 1fr 1fr auto auto; align-items: end; } }
.seat-filter-bar .field { display: flex; flex-direction: column; gap: 5px; }
.seat-filter-bar .field label { font-family: var(--font-mono); font-size: 0.64rem; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }
.seat-filter-bar .field input, .seat-filter-bar .field select {
    border: 1px solid var(--border-soft);
    border-radius: 6px;
    padding: 9px 12px;
    font-size: 0.88rem;
    background: var(--surface-1); color: var(--text);
    outline: none; font-family: var(--font-body);
}
.seat-filter-bar .field input:focus, .seat-filter-bar .field select:focus { border-color: var(--gold); }
.seat-filter-bar .field select option { background: var(--midnight); color: var(--text); }

.seat-list { display: grid; gap: 14px; }
.seat-card {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    overflow: hidden;
    display: grid;
    backdrop-filter: blur(14px);
    transition: all .25s;
}
.seat-card:hover { border-color: var(--border-glow); box-shadow: 0 12px 40px rgba(0,0,0,0.3); }
@media (min-width: 700px) { .seat-card { grid-template-columns: 1fr 210px; } }
.seat-main { padding: 22px; }
.seat-side {
    padding: 22px;
    border-top: 1px solid var(--border-soft);
    display: flex; flex-direction: column; justify-content: center;
    background: var(--surface-1);
}
@media (min-width: 700px) {
    .seat-side { border-top: none; border-left: 1px solid var(--border-soft); }
}
.seat-airline { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.airline-mark {
    background: linear-gradient(135deg, var(--midnight), var(--twilight));
    color: var(--gold-bright);
    font-family: var(--font-display); font-style: italic;
    font-size: 1rem;
    padding: 8px 12px;
    border-radius: 6px;
    min-width: 50px; text-align: center; flex-shrink: 0;
    border: 1px solid var(--border-glow);
    box-shadow: inset 0 0 12px rgba(212,175,95,0.15);
}
.airline-name { color: var(--text); font-weight: 600; font-size: 0.95rem; }
.airline-sub { color: var(--text-faint); font-family: var(--font-mono); font-size: 0.72rem; margin-top: 2px; letter-spacing: 0.04em; }
.seat-leg { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--border-soft); }
.leg-label {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--crystal);
    margin-bottom: 8px;
    display: inline-block;
}
.leg-body { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.leg-flight { font-family: var(--font-mono); font-size: 0.86rem; color: var(--text-muted); letter-spacing: 0.04em; }
.leg-date { font-family: var(--font-display); font-style: italic; color: var(--gold-bright); font-size: 0.98rem; }
.leg-route { display: flex; align-items: center; gap: 8px; }
.leg-route .ap { color: var(--text); font-weight: 700; font-size: 1rem; letter-spacing: 0.06em; font-family: var(--font-mono); }
.leg-route .arrow { color: var(--gold); font-size: 0.8rem; }
.leg-times { font-family: var(--font-mono); font-size: 0.82rem; color: var(--text-muted); }
.seat-notes {
    font-size: 0.82rem; color: var(--text-muted);
    background: var(--surface-1);
    border-left: 2px solid var(--gold);
    padding: 8px 12px;
    border-radius: 4px;
    margin-top: 12px;
}
.seat-fare-label {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 4px;
}
.seat-fare {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 2.1rem;
    color: var(--text);
    line-height: 1;
    text-shadow: 0 0 24px rgba(212,175,95,0.2);
}
.seat-fare-unit {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    color: var(--text-faint);
    margin-top: 4px; margin-bottom: 14px;
    letter-spacing: 0.1em; text-transform: uppercase;
}
.seat-low {
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 400;
    color: #fca5a5;
    background: rgba(248,113,113,0.1);
    border: 1px solid rgba(248,113,113,0.3);
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-block;
    margin-bottom: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ═════════════════════════════════════════════════════════════
   UTILITIES
   ═════════════════════════════════════════════════════════════ */
.gold { color: var(--gold-bright); }
.text-center { text-align: center; }
code {
    font-family: var(--font-mono);
    font-size: 0.86em;
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
    padding: 2px 7px;
    border-radius: 4px;
    color: var(--gold-bright);
}
.action-links { display: flex; gap: 8px; align-items: center; }
.action-links a, .action-links button.danger {
    font-family: var(--font-mono);
    font-size: 0.74rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: var(--text-faint);
    background: none; border: none;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 4px;
    transition: all .15s;
}
.action-links a:hover { background: var(--surface-1); color: var(--text); }
.action-links button.danger:hover { background: rgba(248,113,113,0.1); color: #fca5a5; }

@media (max-width: 640px) {
    .section { padding: 80px 20px; }
    .page-intro { padding: calc(var(--nav-h) + 60px) 20px 60px; }
    .form-wrap { padding: 22px; }
    .auth-card { padding: 30px 22px; }
    .hero-stats { gap: 24px; }
    .hero-stats .stat strong { font-size: 1.7rem; }
    .seat-main, .seat-side { padding: 16px; }
    .tbl th, .tbl td { padding: 10px 12px; }
    h1 { font-size: clamp(2.2rem, 8vw, 3.2rem); }
    .cta-inner { padding: 40px 24px; }
}

/* ═════════════════════════════════════════════════════════════
   PACKAGE FLIGHT INFO — shows departure/return/airline on cards
   ═════════════════════════════════════════════════════════════ */
.pkg-flight {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    margin-bottom: 14px;
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
    border-left: 2px solid var(--gold);
    border-radius: var(--radius-sm);
}
.pkg-flight-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    font-size: 0.82rem;
}
.pkg-flight-label {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    flex-shrink: 0;
}
.pkg-flight-row strong {
    color: var(--text);
    font-weight: 500;
    text-align: right;
}

/* ═════════════════════════════════════════════════════════════
   BOOKING SUMMARY CARD — what user is booking
   ═════════════════════════════════════════════════════════════ */
.booking-summary {
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius);
    overflow: hidden;
    backdrop-filter: blur(16px);
    margin-bottom: 22px;
}
.booking-summary-head {
    padding: 24px 22px 18px;
    border-bottom: 1px solid var(--border-soft);
}
.booking-summary-head .eyebrow {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: .7rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.booking-summary-head h2 {
    font-size: 1.6rem;
    color: var(--text);
    margin: 0;
    line-height: 1.2;
}
.booking-facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}
.booking-facts .fact {
    padding: 14px 22px;
    border-bottom: 1px solid var(--border-soft);
    border-right: 1px solid var(--border-soft);
}
.booking-facts .fact:nth-child(2n) { border-right: none; }
.booking-facts .fact .lbl {
    display: block;
    font-family: var(--font-mono);
    font-size: .64rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 4px;
}
.booking-facts .fact strong {
    color: var(--text);
    font-weight: 500;
    font-size: .96rem;
}

/* ═════════════════════════════════════════════════════════════
   ROOM TYPE SELECTOR
   ═════════════════════════════════════════════════════════════ */
.room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}
.room-opt {
    cursor: pointer;
    display: block;
}
.room-opt input { position: absolute; opacity: 0; pointer-events: none; }
.room-opt-inner {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 14px;
    background: var(--surface-1);
    transition: all .2s;
}
.room-opt:hover .room-opt-inner {
    border-color: var(--border-glow);
    background: var(--surface-2);
}
.room-opt input:checked + .room-opt-inner {
    border-color: var(--gold);
    background: rgba(212,175,95,0.08);
    box-shadow: 0 0 0 3px rgba(212,175,95,0.12);
}
.room-opt-head { margin-bottom: 8px; }
.room-opt-head strong {
    display: block;
    color: var(--text);
    font-size: .92rem;
    margin-bottom: 2px;
}
.room-opt-head span {
    font-family: var(--font-mono);
    font-size: .68rem;
    letter-spacing: .08em;
    color: var(--text-faint);
    text-transform: uppercase;
}
.room-opt-price {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.15rem;
    color: var(--gold-bright);
}
.room-opt-price small {
    display: block;
    font-style: normal;
    font-family: var(--font-mono);
    font-size: .62rem;
    color: var(--text-faint);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* ═════════════════════════════════════════════════════════════
   CONFIRMATION PAGE
   ═════════════════════════════════════════════════════════════ */
.confirm-banner {
    text-align: center;
    padding: 40px 24px;
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius);
    backdrop-filter: blur(14px);
}
.confirm-icon {
    width: 60px; height: 60px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, #60a5fa, #2563eb);
    display: grid; place-items: center;
    color: #fff;
    font-size: 1.6rem;
    box-shadow: 0 0 0 6px rgba(74,222,128,0.15);
}
.confirm-ref {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    background: var(--surface-3);
    border: 1px solid var(--border-glow);
    border-radius: 999px;
    font-family: var(--font-mono);
}
.confirm-ref .lbl { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-faint); }
.confirm-ref strong { color: var(--gold-bright); font-size: .95rem; letter-spacing: .12em; }

.confirm-card {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    overflow: hidden;
    backdrop-filter: blur(14px);
}
.confirm-card-head {
    padding: 22px;
    border-bottom: 1px solid var(--border-soft);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}
.confirm-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}
.confirm-cell {
    padding: 14px 22px;
    border-bottom: 1px solid var(--border-soft);
    border-right: 1px solid var(--border-soft);
}
.confirm-cell:nth-child(2n) { border-right: none; }
.confirm-cell .lbl {
    display: block;
    font-family: var(--font-mono);
    font-size: .64rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 3px;
}
.confirm-cell strong { color: var(--text); font-weight: 500; }

.confirm-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.confirm-steps li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.confirm-steps li > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.confirm-steps strong {
    color: var(--text);
    font-size: .92rem;
    font-weight: 600;
}
.confirm-steps span {
    color: var(--text-muted);
    font-size: .82rem;
}
.step-num {
    flex-shrink: 0;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(212,175,95,0.12);
    border: 1px solid var(--border-glow);
    display: grid; place-items: center;
    font-family: var(--font-mono);
    font-size: .74rem;
    color: var(--gold-bright);
    font-weight: 600;
}

/* Print friendly */
@media print {
    .navbar, .mobile-menu, .footer, .wa-fab, button { display: none !important; }
    body { background: white !important; color: black !important; }
    .confirm-card, .confirm-banner { border: 1px solid #ccc !important; background: white !important; }
    .confirm-card-head h3, .confirm-cell strong, .confirm-banner h1 { color: black !important; }
}

/* ═════════════════════════════════════════════════════════════
   SECTOR BUILDER (admin) — multi-leg flight form
   ═════════════════════════════════════════════════════════════ */
#sectors-container { display: flex; flex-direction: column; gap: 14px; }
.sector-row {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 14px;
    position: relative;
}
.sector-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.sector-num {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--text-ink);
    display: grid; place-items: center;
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: .78rem;
    flex-shrink: 0;
}
.sector-dir { max-width: 140px; flex: 0 0 auto; }
.sector-leg { max-width: 80px; flex: 0 0 auto; }
.sector-remove {
    margin-left: auto;
    width: 30px; height: 30px;
    border-radius: 50%;
    border: 1px solid var(--border-soft);
    color: #fca5a5;
    background: transparent;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    transition: all .2s;
}
.sector-remove:hover {
    border-color: #fca5a5;
    background: rgba(239,68,68,0.1);
}
.sector-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}
@media (min-width: 800px) {
    .sector-fields { grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr 1fr; }
}

/* Display helper for leg/sector layovers in seat-card */
.leg-continued { padding-top: 6px; }
.leg-layover {
    font-family: var(--font-mono);
    font-size: .7rem;
    color: var(--crystal);
    padding: 4px 0 4px 22px;
    letter-spacing: .04em;
}

/* ═════════════════════════════════════════════════════════════
   NEWS — "Resource of News" listing & detail
   ═════════════════════════════════════════════════════════════ */
.news-list { display: flex; flex-direction: column; gap: 14px; }
.news-card {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 24px 26px;
    backdrop-filter: blur(14px);
    transition: border-color .2s, transform .2s;
}
.news-card:hover {
    border-color: var(--border-glow);
    transform: translateY(-2px);
}
.news-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.news-cat {
    font-family: var(--font-mono);
    font-size: .62rem;
    letter-spacing: .18em;
    color: var(--gold);
    padding: 2px 10px;
    border: 1px solid var(--border-glow);
    border-radius: 999px;
    background: rgba(212,175,95,0.06);
}
.news-date {
    font-family: var(--font-mono);
    font-size: .72rem;
    color: var(--text-faint);
    letter-spacing: .04em;
}
.news-source {
    font-size: .76rem;
    color: var(--text-muted);
    font-style: italic;
}
.news-card h3 {
    color: var(--text);
    margin-bottom: 12px;
    font-size: 1.25rem;
    line-height: 1.3;
}
.news-card h3 a { color: inherit; transition: color .2s; }
.news-card h3 a:hover { color: var(--gold-bright); }
.news-snippet {
    color: var(--text-muted);
    font-size: .92rem;
    line-height: 1.65;
    margin-bottom: 14px;
}
.news-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--border-soft);
}
.news-link {
    font-family: var(--font-mono);
    font-size: .76rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--gold-bright);
}
.news-source-link {
    font-family: var(--font-mono);
    font-size: .72rem;
    color: var(--text-faint);
    letter-spacing: .04em;
}
.news-source-link:hover { color: var(--text); }

.news-article .news-body {
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--text-muted);
    white-space: pre-wrap;
}
.news-article .news-body strong { color: var(--text); }

/* ═════════════════════════════════════════════════════════════
   AD SLOT WRAPPER
   ═════════════════════════════════════════════════════════════ */
.ad-slot {
    margin: 22px 0;
    padding: 8px;
    background: var(--surface-1);
    border: 1px dashed var(--border-soft);
    border-radius: var(--radius-sm);
    overflow: hidden;
    text-align: center;
    min-height: 60px;
}
.ad-slot::before {
    content: 'Advertisement';
    display: block;
    font-family: var(--font-mono);
    font-size: .58rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 4px;
}
.ad-slot ins { display: block; margin: 0 auto; }

/* ═════════════════════════════════════════════════════════════
   ACCESSIBILITY — respect motion preference + bulletproof visibility
   ═════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Bulletproof: if animations fail to load/run for ANY reason,
   make sure hero content stays visible */
.hero-eyebrow, .hero h1, .hero .lead, .hero-actions, .hero-stats, .hero-visual, .kaaba-svg, .kaaba-status {
    opacity: 1;
}

/* ═════════════════════════════════════════════════════════════
   HERO UNIFIED SEARCH — tabbed search bar (packages/hotels/seats)
   ═════════════════════════════════════════════════════════════ */
.hero-search {
    max-width: var(--container);
    margin: -40px auto 0;
    background: rgba(10, 11, 30, 0.7);
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-deep), 0 0 60px rgba(212,175,95,0.1);
    overflow: hidden;
    position: relative;
    z-index: 10;
}
.hero-search::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
}
.hero-search-tabs {
    display: flex;
    border-bottom: 1px solid var(--border-soft);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.hero-tab {
    flex: 1;
    min-width: 130px;
    padding: 16px 22px;
    font-family: var(--font-mono);
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-faint);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}
.hero-tab:hover { color: var(--text); background: var(--surface-1); }
.hero-tab.active {
    color: var(--gold-bright);
    border-bottom-color: var(--gold);
    background: rgba(212,175,95,0.06);
}

.hero-search-form {
    display: none;
    padding: 22px;
    gap: 14px;
}
.hero-search-form.active { display: grid; }
@media (min-width: 760px) {
    .hero-search-form { grid-template-columns: 1fr 1fr 1.2fr 1fr auto; align-items: end; }
}
.hero-search-form .field { display: flex; flex-direction: column; gap: 6px; }
.hero-search-form label {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
}
.hero-search-form input,
.hero-search-form select {
    width: 100%;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    font-family: var(--font-body);
    font-size: 0.92rem;
    color: var(--text);
    background: var(--surface-1);
    outline: none;
    transition: all .2s;
}
.hero-search-form input::placeholder { color: var(--text-faint); }
.hero-search-form input:focus,
.hero-search-form select:focus {
    border-color: var(--gold);
    background: var(--surface-2);
    box-shadow: 0 0 0 3px rgba(212,175,95,0.12);
}
.hero-search-form select option { background: var(--midnight); color: var(--text); }

/* ═════════════════════════════════════════════════════════════
   SEARCH CONTEXT BANNER (shows what user searched on listing pages)
   ═════════════════════════════════════════════════════════════ */
.search-context {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 18px;
    background: var(--surface-2);
    border: 1px solid var(--border-glow);
    border-radius: var(--radius);
    margin-bottom: 22px;
    backdrop-filter: blur(12px);
}
.search-context-label {
    font-family: var(--font-mono);
    font-size: 0.66rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
}
.search-context-tag {
    font-size: 0.86rem;
    color: var(--text-muted);
    padding: 4px 12px;
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
    border-radius: 999px;
}
.search-context-tag strong { color: var(--text); font-weight: 500; }
.search-context-clear {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    color: var(--text-faint);
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 4px;
}
.search-context-clear:hover { color: var(--gold-bright); background: var(--surface-1); }

/* ═════════════════════════════════════════════════════════════
   ICONS — gold inline SVG icons (use currentColor)
   ═════════════════════════════════════════════════════════════ */
.icon {
    flex-shrink: 0;
    vertical-align: -3px;
    margin-right: 8px;
    color: var(--gold);
    transition: color .2s, transform .2s;
}
.icon:last-child { margin-right: 0; margin-left: 6px; }

/* Buttons inherit currentColor — but on gold buttons, use ink */
.btn-primary .icon { color: var(--text-ink); }
.btn-sky .icon     { color: var(--text-ink); }

/* Admin sidebar — tighter alignment */
.admin-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
}
.admin-nav a .icon {
    color: var(--gold);
    margin-right: 0;
    opacity: 0.85;
}
.admin-nav a:hover .icon  { color: var(--gold-bright); opacity: 1; }
.admin-nav a.active .icon { color: var(--gold-bright); opacity: 1; }

/* Hero search tabs */
.hero-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.hero-tab .icon {
    color: var(--text-faint);
    margin-right: 0;
    transition: color .2s;
}
.hero-tab:hover .icon  { color: var(--text); }
.hero-tab.active .icon { color: var(--gold-bright); }

/* In primary buttons, icon stays dark/ink */
.btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btn-primary .icon { margin-right: 0; }

/* ═════════════════════════════════════════════════════════════
   HOTEL AVAILABILITY BADGE — date range on hotel cards
   ═════════════════════════════════════════════════════════════ */
.hotel-availability {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    padding: 8px 12px;
    margin: 10px 0 12px;
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
    border-left: 2px solid var(--gold);
    border-radius: var(--radius-sm);
    font-size: 0.84rem;
}
.hotel-availability-label {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
}
.hotel-availability strong {
    color: var(--text);
    font-weight: 500;
    text-align: right;
}

/* === Royal Inn Premium Vendor API Hub Makeover === */
.api-hub-hero{position:relative;display:grid;grid-template-columns:1.45fr .75fr;gap:24px;align-items:stretch;margin:4px 0 26px;padding:34px;border-radius:30px;background:radial-gradient(circle at top left,rgba(212,175,55,.22),transparent 34%),linear-gradient(135deg,#07111f 0%,#0e2038 48%,#102b46 100%);color:#fff;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 80px rgba(3,10,24,.25)}
.api-hub-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:999px;background:rgba(46,196,182,.16);filter:blur(4px)}
.api-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#f8d970;margin-bottom:10px}.api-kicker.dark{color:#7d6220}.api-hub-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,4.2rem);line-height:.95;margin:0 0 14px;max-width:760px}.api-hub-hero p{max-width:760px;color:rgba(255,255,255,.74);font-size:1rem;line-height:1.7;margin:0}.api-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px}.api-flow span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-weight:800;font-size:.8rem}.api-flow i{color:#f8d970;font-style:normal}.api-hero-panel{position:relative;z-index:1;display:grid;gap:14px;padding:18px;border-radius:24px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}.api-stat{padding:18px;border-radius:20px;background:rgba(255,255,255,.1)}.api-stat strong{display:block;font-size:2.5rem;line-height:1;font-family:var(--font-display)}.api-stat span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.68);font-weight:800}.api-mini-grid{display:grid;gap:9px}.api-mini-grid span{padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.1);font-size:.85rem;font-weight:800}.api-hub-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:24px;align-items:start}.api-editor-card,.api-help-card,.api-vendor-section{background:linear-gradient(180deg,#fff,#fbf7ee);border:1px solid rgba(125,98,32,.13);border-radius:26px;padding:24px;box-shadow:0 18px 55px rgba(36,28,10,.08);margin-bottom:24px}.api-card-head,.api-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.api-card-head h2,.api-section-head h2,.api-help-card h3{font-family:var(--font-display);margin:0;font-size:1.65rem}.api-section-head p,.api-help-card p{margin:.35rem 0 0;color:var(--gray-600);line-height:1.65}.api-section-head strong{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#0e2038;color:#fff;font-family:var(--font-display);font-size:1.4rem}.api-type-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:4px}.api-type-tile{cursor:pointer;display:block;padding:15px;border:1px solid rgba(125,98,32,.16);border-radius:18px;background:#fff;transition:.2s ease;min-height:116px}.api-type-tile input{display:none}.api-type-tile strong{display:block;color:#0f172a;margin-bottom:6px}.api-type-tile small{display:block;color:#64748b;line-height:1.45}.api-type-tile.selected,.api-type-tile:hover{border-color:#d4af37;box-shadow:0 12px 30px rgba(212,175,55,.15);transform:translateY(-2px)}.api-json{font-family:var(--font-mono,monospace);font-size:.8rem;line-height:1.55;background:#0b1220!important;color:#d8f3dc!important;border-color:#1f2937!important}.api-live-switch{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.api-live-switch input{display:none}.api-live-switch span{width:46px;height:26px;border-radius:999px;background:#cbd5e1;position:relative;transition:.2s}.api-live-switch span:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.18)}.api-live-switch input:checked+span{background:#2563eb}.api-live-switch input:checked+span:before{transform:translateX(20px)}.api-help-card{position:sticky;top:92px;background:linear-gradient(180deg,#0e2038,#142946);color:#fff}.api-help-card p{color:rgba(255,255,255,.72)}.api-note{margin-top:16px;padding:14px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-size:.88rem;line-height:1.55}.api-note code,.vendor-url{font-family:var(--font-mono,monospace)}.api-vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.api-vendor-card{padding:18px;border-radius:22px;background:#fff;border:1px solid #e8ddc1;box-shadow:0 12px 38px rgba(36,28,10,.06)}.api-vendor-card.live{border-color:rgba(37,99,235,.28);box-shadow:0 16px 42px rgba(37,99,235,.09)}.vendor-top,.vendor-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}.vendor-top{margin-bottom:12px}.vendor-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.api-vendor-card.live .vendor-pill{background:#dbeafe;color:#1d4ed8}.vendor-id{color:#94a3b8;font-family:var(--font-mono,monospace);font-size:.78rem}.api-vendor-card h3{font-family:var(--font-display);font-size:1.35rem;margin:0 0 6px}.vendor-url{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;font-size:.78rem;margin-bottom:14px}.vendor-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.vendor-metrics span{padding:10px;border-radius:14px;background:#f8fafc;color:#64748b;font-size:.7rem;text-transform:uppercase;font-weight:800}.vendor-metrics b{display:block;color:#0f172a;font-size:.9rem;text-transform:none}.vendor-error{padding:10px;border-radius:14px;background:#fff1f2;color:#be123c;font-size:.8rem;margin-bottom:12px}.vendor-actions{justify-content:flex-start;flex-wrap:wrap}.vendor-actions form{display:inline}.vendor-actions .danger{color:#dc2626}.api-empty{padding:24px;border-radius:18px;border:1px dashed #d6c28d;color:#94835a;text-align:center;background:#fff}.api-source{display:block;margin-top:4px;color:#2563eb!important;font-size:.68rem!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.08em}@media(max-width:1050px){.api-hub-hero,.api-hub-layout{grid-template-columns:1fr}.api-help-card{position:static}.api-type-picker,.api-vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.api-hub-hero{padding:24px;border-radius:22px}.api-flow span{width:100%;text-align:center}.api-flow i{display:none}.api-type-picker,.api-vendor-grid{grid-template-columns:1fr}.api-editor-card,.api-help-card,.api-vendor-section{padding:18px;border-radius:20px}.api-vendor-grid{gap:12px}}

/* ═════════════════════════════════════════════════════════════
   2026 Professional UI/UX pass — Royal Inn travel SaaS polish
   Fixes: admin mobile navigation, vendor API dashboard, listing cards,
   better touch targets, less generated-looking UI, safer responsive spacing.
   ═════════════════════════════════════════════════════════════ */
:root{
  --pro-bg:#070914;
  --pro-card:#101522;
  --pro-card-2:#151b2b;
  --pro-line:rgba(255,255,255,.1);
  --pro-gold:#e8bf68;
  --pro-mint:#51d6c4;
  --pro-red:#ef4444;
  --pro-blue:#2563eb;
}
.admin-body{background:linear-gradient(135deg,#070914 0%,#0b1020 46%,#111827 100%)!important;color:#f8fafc;}
.admin-top{position:sticky;top:0;z-index:1100;background:rgba(7,9,20,.82)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 12px 40px rgba(0,0,0,.24);}
.admin-wrap{max-width:1480px;margin:0 auto;padding:22px;gap:22px;}
.admin-main{min-width:0;}
.admin-side{border:1px solid rgba(255,255,255,.09)!important;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;box-shadow:0 24px 70px rgba(0,0,0,.24);border-radius:24px;}
.admin-nav a{min-height:44px;border-radius:14px;margin:3px 0;color:rgba(248,250,252,.68)!important;font-weight:750;letter-spacing:.01em;}
.admin-nav a.active{background:linear-gradient(135deg,rgba(232,191,104,.22),rgba(81,214,196,.08))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(232,191,104,.26);}
.admin-menu-toggle{display:none!important;}
.admin-main .alert{margin-bottom:18px;}

.api-hub-hero{background:radial-gradient(circle at 12% 10%,rgba(232,191,104,.28),transparent 30%),radial-gradient(circle at 90% 5%,rgba(81,214,196,.18),transparent 34%),linear-gradient(135deg,#080b17 0%,#101827 46%,#172239 100%)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 30px 90px rgba(0,0,0,.32)!important;}
.api-hub-hero h1{letter-spacing:-.035em;max-width:820px;}
.api-hub-hero p{font-size:1.04rem;color:rgba(255,255,255,.76)!important;}
.api-flow span{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.api-editor-card,.api-vendor-section{background:linear-gradient(180deg,#ffffff 0%,#f7f3eb 100%)!important;color:#111827!important;border:1px solid rgba(232,191,104,.22)!important;box-shadow:0 24px 60px rgba(0,0,0,.13)!important;}
.api-help-card{background:linear-gradient(180deg,#0b1220,#111827)!important;border-color:rgba(255,255,255,.12)!important;}
.api-type-tile{position:relative;overflow:hidden;border-color:#e7dcc7!important;box-shadow:0 8px 24px rgba(17,24,39,.04);}
.api-type-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--pro-gold),var(--pro-mint));opacity:0;transition:.2s;}
.api-type-tile.selected:before,.api-type-tile:hover:before{opacity:1;}
.api-type-tile strong{font-size:.95rem;}
.api-type-tile small{font-size:.78rem;}
.api-json.json-error{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.15)!important;}
.api-vendor-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.api-vendor-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(17,24,39,.12)!important;}
.vendor-url{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px;}
.vendor-actions .btn{min-height:36px;}
.api-source{display:inline-flex!important;align-items:center;gap:5px;padding:4px 8px;margin-top:6px;border-radius:999px;background:rgba(34,197,94,.1);color:#15803d!important;width:max-content;}
.api-source:before{content:"●";font-size:.65rem;}

.grid.grid-3{align-items:stretch;}
.package-card,.hotel-card,.seat-card{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.package-card:hover,.hotel-card:hover,.seat-card:hover{transform:translateY(-4px);box-shadow:0 24px 65px rgba(0,0,0,.22);border-color:rgba(232,191,104,.32)!important;}
.hotel-card .media,.package-card .media{min-height:205px;background:radial-gradient(circle at 30% 20%,rgba(232,191,104,.18),transparent 28%),linear-gradient(135deg,#111827,#273449);}
.hotel-card .media-img,.package-card .media-img{width:100%;height:100%;object-fit:cover;}
.search-context,.seat-filter-bar{backdrop-filter:blur(14px);}
.seat-filter-bar{border:1px solid rgba(255,255,255,.1)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;box-shadow:0 18px 60px rgba(0,0,0,.18);}
.seat-filter-bar .field{min-width:150px;}
.seat-filter-bar select,.seat-filter-bar input{min-height:46px;}
.seat-side{border-left:1px solid rgba(255,255,255,.1);}

@media(max-width:1050px){
  .admin-wrap{grid-template-columns:1fr!important;padding:16px;}
  .admin-menu-toggle{display:inline-flex!important;}
  .admin-side{position:fixed;z-index:1200;top:78px;left:14px;bottom:14px;width:min(315px,calc(100vw - 28px));transform:translateX(calc(-100% - 24px));transition:transform .25s ease;overflow:auto;}
  body.admin-menu-open .admin-side{transform:translateX(0);}
  body.admin-menu-open:after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:1190;backdrop-filter:blur(3px);}
  .api-vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .admin-top{padding:10px 14px!important;}
  .admin-top .brand{font-size:.92rem;gap:9px;}
  .admin-top .brand-mark{width:34px;height:34px;}
  .admin-top .btn-sm{padding:8px 10px;font-size:.72rem;}
  .admin-wrap{padding:12px;}
  .api-hub-hero{padding:22px!important;border-radius:22px!important;margin-top:8px;}
  .api-hub-hero h1{font-size:clamp(2rem,11vw,3rem)!important;}
  .api-flow{display:grid!important;grid-template-columns:1fr!important;}
  .api-flow span{width:100%;}
  .api-editor-card,.api-help-card,.api-vendor-section{padding:16px!important;border-radius:20px!important;}
  .api-card-head,.api-section-head{align-items:flex-start;flex-direction:column;}
  .api-type-picker,.api-vendor-grid{grid-template-columns:1fr!important;}
  .vendor-metrics{grid-template-columns:1fr 1fr 1fr;}
  .vendor-actions .btn,.vendor-actions form{width:100%;}
  .vendor-actions{display:grid;grid-template-columns:1fr;}
  .grid.grid-3{grid-template-columns:1fr!important;}
  .seat-filter-bar{grid-template-columns:1fr!important;padding:16px!important;border-radius:20px!important;}
  .seat-card{grid-template-columns:1fr!important;}
  .seat-side{border-left:0;border-top:1px solid rgba(255,255,255,.1);}
  .leg-body{grid-template-columns:1fr!important;gap:8px;}
}
:root{--font-display:'DM Serif Display',Georgia,serif;--font-body:'DM Sans',system-ui,sans-serif;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;}

/* ══════════════════════════════════════════════════════════════════
   FULL PUBLIC WEBSITE REVAMP — Royal Inn premium travel marketplace
   Applies to customer-facing pages without breaking admin/API screens.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --brand-bg:#070915;
  --brand-bg-2:#0d1426;
  --brand-panel:#111a2d;
  --brand-panel-2:#162139;
  --brand-gold:#e6bd66;
  --brand-gold-2:#ffe3a1;
  --brand-cyan:#6ee7e0;
  --brand-cream:#fbf6eb;
  --brand-ink:#09111f;
  --brand-muted:rgba(245,239,226,.72);
  --brand-line:rgba(255,255,255,.11);
  --cream:#fbf6eb;
  --gray-900:#0f172a;
  --gray-800:#1e293b;
  --gray-700:#334155;
  --gray-600:#475569;
  --gray-500:#64748b;
  --gray-400:#94a3b8;
  --gray-300:#cbd5e1;
  --gray-200:#e2e8f0;
  --gray-100:#f1f5f9;
  --radius-lg:28px;
}
body:not(.admin-body){
  color:#f7f0df;
  background:
    radial-gradient(circle at 18% 8%, rgba(230,189,102,.16), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(110,231,224,.11), transparent 30%),
    linear-gradient(180deg,#070915 0%,#0a1020 42%,#070915 100%)!important;
}
body:not(.admin-body)::before{opacity:.5;}
body:not(.admin-body) .navbar{
  height:78px;
  background:rgba(7,9,21,.78)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 55px rgba(0,0,0,.22)!important;
}
body:not(.admin-body) .brand{letter-spacing:.06em;font-family:var(--font-body);font-weight:900;}
body:not(.admin-body) .brand-mark{
  width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#f9d88a,#b8862d);color:#08111f;font-weight:1000;box-shadow:0 16px 32px rgba(230,189,102,.22);font-family:var(--font-body);
}
body:not(.admin-body) .brand-mark:before,body:not(.admin-body) .brand-mark:after{display:none;}
body:not(.admin-body) .nav-links{gap:10px;}
body:not(.admin-body) .nav-links a{
  padding:10px 13px;border-radius:999px;color:rgba(255,255,255,.68);font-family:var(--font-body);font-size:.73rem;font-weight:800;letter-spacing:.06em;
}
body:not(.admin-body) .nav-links a:hover,body:not(.admin-body) .nav-links a.active{background:rgba(255,255,255,.08);color:#fff;}
body:not(.admin-body) .nav-links a.active::before{display:none;}
body:not(.admin-body) .container{max-width:1240px;padding-left:22px;padding-right:22px;}
body:not(.admin-body) section{padding:86px 0;}

/* Buttons / forms */
body:not(.admin-body) .btn{border-radius:999px;min-height:44px;font-family:var(--font-body);font-weight:900;letter-spacing:.01em;box-shadow:none;}
body:not(.admin-body) .btn-primary{background:linear-gradient(135deg,#f7d88a,#c58d2f)!important;color:#08111f!important;border:0!important;box-shadow:0 16px 38px rgba(230,189,102,.22)!important;}
body:not(.admin-body) .btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 55px rgba(230,189,102,.33)!important;}
body:not(.admin-body) .btn-ghost{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;}
body:not(.admin-body) .btn-sky{background:linear-gradient(135deg,#6ee7e0,#38bdf8)!important;color:#07111f!important;border:0!important;}
body:not(.admin-body) input,body:not(.admin-body) select,body:not(.admin-body) textarea,
body:not(.admin-body) .input,body:not(.admin-body) .textarea{
  border-radius:16px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;min-height:48px;outline:none;
}
body:not(.admin-body) input:focus,body:not(.admin-body) select:focus,body:not(.admin-body) textarea:focus,
body:not(.admin-body) .input:focus,body:not(.admin-body) .textarea:focus{border-color:rgba(230,189,102,.65)!important;box-shadow:0 0 0 4px rgba(230,189,102,.14)!important;}
body:not(.admin-body) input::placeholder,body:not(.admin-body) textarea::placeholder{color:rgba(255,255,255,.45);}
body:not(.admin-body) select option{color:#0f172a;background:#fff;}
body:not(.admin-body) label{color:rgba(255,255,255,.72);font-weight:800;font-size:.78rem;letter-spacing:.02em;}

/* Premium homepage hero */
body:not(.admin-body) .hero{
  padding:calc(var(--nav-h) + 72px) 0 92px!important;
  min-height:auto;
  overflow:hidden;
}
body:not(.admin-body) .hero:before{
  content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(7,9,21,.95),rgba(7,9,21,.68) 52%,rgba(7,9,21,.9)),
  radial-gradient(circle at 74% 40%,rgba(230,189,102,.2),transparent 34%);
}
body:not(.admin-body) .hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(340px,.78fr);gap:64px;align-items:center;}
body:not(.admin-body) .hero-eyebrow,.eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:999px;background:rgba(230,189,102,.11);border:1px solid rgba(230,189,102,.2);color:#ffe3a1!important;font-family:var(--font-body);font-size:.73rem!important;font-weight:900;letter-spacing:.1em!important;text-transform:uppercase;
}
body:not(.admin-body) .hero h1{font-family:var(--font-display);letter-spacing:-.045em;line-height:.93;max-width:720px;}
body:not(.admin-body) .hero h1 em{color:var(--brand-gold-2);font-style:italic;}
body:not(.admin-body) .hero .lead{font-size:clamp(1.02rem,1.6vw,1.22rem);max-width:650px;color:rgba(255,255,255,.73);margin-top:22px;}
body:not(.admin-body) .hero-actions{gap:14px;margin-top:30px;display:flex;flex-wrap:wrap;}
body:not(.admin-body) .hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px;max-width:650px;}
body:not(.admin-body) .hero-stats .stat{padding:18px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);}
body:not(.admin-body) .hero-stats .stat strong{font-size:1.45rem;color:#fff;}
body:not(.admin-body) .hero-stats .stat span{font-size:.78rem;color:rgba(255,255,255,.58);}
body:not(.admin-body) .hero-visual{border-radius:36px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 120px rgba(0,0,0,.35);min-height:500px;}
body:not(.admin-body) .hero-visual:after{content:"Trusted · Transparent · Supplier connected";position:absolute;left:22px;right:22px;bottom:22px;border-radius:18px;padding:13px 16px;text-align:center;background:rgba(7,9,21,.72);border:1px solid rgba(255,255,255,.12);font-weight:900;color:rgba(255,255,255,.78);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;}

/* Search module */
body:not(.admin-body) .hero-search{
  margin-top:-46px;position:relative;z-index:5;border:1px solid rgba(255,255,255,.14)!important;background:linear-gradient(180deg,rgba(22,33,57,.96),rgba(14,22,39,.96))!important;box-shadow:0 35px 110px rgba(0,0,0,.36)!important;border-radius:30px!important;padding:18px!important;backdrop-filter:blur(20px);
}
body:not(.admin-body) .hero-search-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 14px!important;}
body:not(.admin-body) .hero-tab{border-radius:999px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.055)!important;color:rgba(255,255,255,.68)!important;padding:12px 16px!important;font-weight:900!important;}
body:not(.admin-body) .hero-tab.active{background:linear-gradient(135deg,#f7d88a,#c58d2f)!important;color:#08111f!important;border-color:transparent!important;}
body:not(.admin-body) .hero-search-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px!important;padding:0!important;}
body:not(.admin-body) .hero-search-form .field{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:10px 12px;}
body:not(.admin-body) .hero-search-form .field label{display:block;margin-bottom:4px;}
body:not(.admin-body) .hero-search-form input,body:not(.admin-body) .hero-search-form select{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:28px!important;width:100%;}

/* Page intro */
body:not(.admin-body) .page-intro{
  padding:calc(var(--nav-h) + 72px) 22px 54px!important;text-align:center;background:
  radial-gradient(circle at 50% 0%,rgba(230,189,102,.18),transparent 34%),
  linear-gradient(180deg,rgba(255,255,255,.02),transparent);
}
body:not(.admin-body) .page-intro h1{max-width:900px;margin:18px auto 12px;font-size:clamp(2.4rem,6vw,4.8rem);letter-spacing:-.04em;}
body:not(.admin-body) .page-intro p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.7);font-size:1.05rem;}

/* Section headers + cards */
body:not(.admin-body) .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;}
body:not(.admin-body) .section-head h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em;}
body:not(.admin-body) .section-head p{max-width:540px;color:rgba(255,255,255,.66);}
body:not(.admin-body) .grid{display:grid;gap:22px;}
body:not(.admin-body) .grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
body:not(.admin-body) .grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
body:not(.admin-body) .grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
body:not(.admin-body) .package-card,body:not(.admin-body) .hotel-card,body:not(.admin-body) .testi-card,body:not(.admin-body) .news-card,body:not(.admin-body) .form-wrap{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.115)!important;border-radius:28px!important;box-shadow:0 26px 80px rgba(0,0,0,.24)!important;overflow:hidden;color:#fff;
}
body:not(.admin-body) .package-card .media,body:not(.admin-body) .hotel-card .media{height:220px;border-radius:0!important;background:radial-gradient(circle at 30% 18%,rgba(230,189,102,.22),transparent 32%),linear-gradient(135deg,#142033,#263653)!important;position:relative;}
body:not(.admin-body) .package-card .body,body:not(.admin-body) .hotel-card .body{padding:22px!important;}
body:not(.admin-body) .package-card h3,body:not(.admin-body) .hotel-card h3{font-family:var(--font-body);font-weight:1000;letter-spacing:-.02em;font-size:1.1rem;color:#fff;}
body:not(.admin-body) .meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
body:not(.admin-body) .meta span,body:not(.admin-body) .dist,body:not(.admin-body) .hotel-availability,body:not(.admin-body) .pkg-flight-row{
  border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);padding:7px 10px;color:rgba(255,255,255,.72);font-size:.78rem;
}
body:not(.admin-body) .pkg-flight{display:grid;gap:8px;margin:12px 0;}
body:not(.admin-body) .pkg-flight-row{display:flex;justify-content:space-between;gap:10px;border-radius:14px;}
body:not(.admin-body) .pkg-flight-label{color:rgba(255,255,255,.5);}
body:not(.admin-body) .desc{color:rgba(255,255,255,.64);font-size:.93rem;}
body:not(.admin-body) .foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;}
body:not(.admin-body) .price{font-size:1.2rem;font-weight:1000;color:#fff;}
body:not(.admin-body) .price small{display:block;color:rgba(255,255,255,.48);font-size:.72rem;font-weight:700;margin-top:2px;}
body:not(.admin-body) .tier-badge,body:not(.admin-body) .city-tag,body:not(.admin-body) .stars,body:not(.admin-body) .news-cat{
  border-radius:999px;background:rgba(7,9,21,.72)!important;border:1px solid rgba(255,255,255,.14);color:#ffe3a1!important;padding:7px 10px;font-size:.72rem;font-weight:1000;letter-spacing:.06em;text-transform:uppercase;
}

/* Filters / result pages */
body:not(.admin-body) .filter-bar,body:not(.admin-body) .seat-filter-bar,body:not(.admin-body) .search-context{
  border-radius:24px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 20px 60px rgba(0,0,0,.22)!important;padding:14px!important;margin-bottom:24px;}
body:not(.admin-body) .filter-bar{display:flex;gap:8px;flex-wrap:wrap;}
body:not(.admin-body) .filter-bar button,body:not(.admin-body) .filter-btn{border-radius:999px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.05)!important;color:rgba(255,255,255,.68)!important;padding:10px 14px!important;font-weight:900!important;}
body:not(.admin-body) .filter-bar button.active,body:not(.admin-body) .filter-btn.active{background:#f7d88a!important;color:#08111f!important;border-color:transparent!important;}
body:not(.admin-body) .seat-filter-bar{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:12px;align-items:end;}
body:not(.admin-body) .seat-card{display:grid;grid-template-columns:minmax(0,1fr) 270px;border-radius:28px!important;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.115)!important;overflow:hidden;margin-bottom:18px;box-shadow:0 24px 70px rgba(0,0,0,.24)!important;}
body:not(.admin-body) .seat-main,body:not(.admin-body) .seat-side{padding:24px;}
body:not(.admin-body) .airline-mark{border-radius:18px;background:linear-gradient(135deg,#f7d88a,#c58d2f)!important;color:#08111f!important;font-weight:1000;}
body:not(.admin-body) .leg-body{border-radius:18px;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1)!important;padding:14px!important;}
body:not(.admin-body) .ap{color:#fff;font-weight:1000;}

/* Contact, booking, auth */
body:not(.admin-body) .form-grid{display:grid;gap:14px;}
body:not(.admin-body) .form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
body:not(.admin-body) .field-group{display:grid;gap:8px;}
body:not(.admin-body) .booking-summary,body:not(.admin-body) .booking-facts .fact{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(0,0,0,.2)!important;
}
body:not(.admin-body) .booking-summary{padding:24px;}
body:not(.admin-body) .booking-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;}
body:not(.admin-body) .booking-facts .fact{padding:14px;}
body:not(.admin-body) .booking-facts .lbl{display:block;color:rgba(255,255,255,.48);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}

/* News */
body:not(.admin-body) .news-list{display:grid;gap:18px;}
body:not(.admin-body) .news-card{padding:24px;}
body:not(.admin-body) .news-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
body:not(.admin-body) .news-link,body:not(.admin-body) .gold{color:#ffe3a1!important;font-weight:900;}

/* Footer */
body:not(.admin-body) .site-footer{background:#050711!important;border-top:1px solid rgba(255,255,255,.09)!important;margin-top:40px;}
body:not(.admin-body) .wa-fab{width:58px;height:58px;border-radius:20px;background:#25d366;box-shadow:0 18px 48px rgba(37,211,102,.35);}

/* Mobile polish */
@media(max-width:1100px){
  body:not(.admin-body) .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  body:not(.admin-body) .hero-grid{grid-template-columns:1fr;}
  body:not(.admin-body) .hero-visual{min-height:390px;max-width:560px;margin:0 auto;width:100%;}
  body:not(.admin-body) .hero-search-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  body:not(.admin-body) .seat-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  body:not(.admin-body) .navbar{height:70px;}
  body:not(.admin-body) .nav-inner{padding:0 14px;}
  body:not(.admin-body) .brand{font-size:.9rem;gap:9px;}
  body:not(.admin-body) .brand-mark{width:38px;height:38px;border-radius:13px;}
  body:not(.admin-body) .nav-cta .btn{display:none;}
  body:not(.admin-body) .mobile-menu{top:70px;background:rgba(7,9,21,.98)!important;border-bottom:1px solid rgba(230,189,102,.22);}
  body:not(.admin-body) .mobile-menu a{font-size:1rem;padding:15px 16px;color:rgba(255,255,255,.76);}
  body:not(.admin-body) section{padding:58px 0;}
  body:not(.admin-body) .hero{padding:116px 0 64px!important;}
  body:not(.admin-body) .hero h1{font-size:clamp(2.6rem,15vw,4rem);}
  body:not(.admin-body) .hero .lead{font-size:1rem;}
  body:not(.admin-body) .hero-actions .btn{width:100%;justify-content:center;}
  body:not(.admin-body) .hero-stats{grid-template-columns:1fr;}
  body:not(.admin-body) .hero-visual{min-height:320px;border-radius:26px;}
  body:not(.admin-body) .kaaba-svg{max-height:300px;}
  body:not(.admin-body) .hero-search{margin-top:-20px;border-radius:24px!important;padding:12px!important;}
  body:not(.admin-body) .hero-search-tabs{display:grid;grid-template-columns:1fr;}
  body:not(.admin-body) .hero-search-form{grid-template-columns:1fr!important;}
  body:not(.admin-body) .page-intro{padding:112px 18px 42px!important;}
  body:not(.admin-body) .page-intro h1{font-size:clamp(2.3rem,12vw,3.4rem);}
  body:not(.admin-body) .section-head{display:block;}
  body:not(.admin-body) .grid-2,body:not(.admin-body) .grid-3,body:not(.admin-body) .grid-4{grid-template-columns:1fr!important;}
  body:not(.admin-body) .package-card .media,body:not(.admin-body) .hotel-card .media{height:190px;}
  body:not(.admin-body) .foot{align-items:flex-start;flex-direction:column;}
  body:not(.admin-body) .foot .btn{width:100%;justify-content:center;}
  body:not(.admin-body) .seat-filter-bar{grid-template-columns:1fr!important;}
  body:not(.admin-body) .seat-card{grid-template-columns:1fr!important;border-radius:24px!important;}
  body:not(.admin-body) .seat-side{border-left:0!important;border-top:1px solid rgba(255,255,255,.1)!important;}
  body:not(.admin-body) .form-grid.cols-2,body:not(.admin-body) .booking-facts{grid-template-columns:1fr!important;}
  body:not(.admin-body) [style*="grid-template-columns: 1.4fr 1fr"],
  body:not(.admin-body) [style*="grid-template-columns:1.4fr 1fr"],
  body:not(.admin-body) [style*="grid-template-columns: 1.3fr 1fr"],
  body:not(.admin-body) [style*="grid-template-columns:1.3fr 1fr"]{grid-template-columns:1fr!important;}
}

/* Homepage supplier flow section */
body:not(.admin-body) .royal-flow-section{padding:72px 0 22px!important;}
body:not(.admin-body) .royal-flow-grid{counter-reset:flow;}
body:not(.admin-body) .royal-flow-card{position:relative;padding:28px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.115);box-shadow:0 25px 75px rgba(0,0,0,.22);overflow:hidden;min-height:230px;}
body:not(.admin-body) .royal-flow-card:before{content:"";position:absolute;inset:auto -20% -35% -20%;height:130px;background:radial-gradient(circle,rgba(230,189,102,.18),transparent 66%);}
body:not(.admin-body) .royal-flow-card span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:15px;background:rgba(230,189,102,.14);border:1px solid rgba(230,189,102,.26);color:#ffe3a1;font-weight:1000;margin-bottom:24px;}
body:not(.admin-body) .royal-flow-card h3{font-family:var(--font-body);font-weight:1000;letter-spacing:-.02em;margin-bottom:10px;}
body:not(.admin-body) .royal-flow-card p{color:rgba(255,255,255,.64);}
body:not(.admin-body) .footer{background:#050711!important;border-top:1px solid rgba(255,255,255,.09)!important;margin-top:40px;}
body:not(.admin-body) .footer-grid{gap:28px;}
body:not(.admin-body) .footer h4{font-family:var(--font-body);font-weight:1000;letter-spacing:.04em;color:#fff;}
body:not(.admin-body) .footer a,body:not(.admin-body) .footer p,body:not(.admin-body) .footer .copy{color:rgba(255,255,255,.6)!important;}
body:not(.admin-body) section[style*="background:var(--cream)"]{background:linear-gradient(180deg,#fbf6eb,#f3ead9)!important;color:#09111f!important;}
body:not(.admin-body) section[style*="background:var(--cream)"] p{color:#475569!important;}
body:not(.admin-body) section[style*="background:var(--cream)"] h3{color:#9f7427!important;}

/* =========================================================
   ADMIN UI RESCUE — clean, usable dashboard/admin shell
   This block intentionally overrides previous experimental admin styles.
   ========================================================= */
body.admin-body{
  --admin-bg:#f3f6fb;
  --admin-surface:#ffffff;
  --admin-surface-2:#f8fafc;
  --admin-border:#e2e8f0;
  --admin-text:#0f172a;
  --admin-muted:#64748b;
  --admin-soft:#94a3b8;
  --admin-primary:#0f3d5e;
  --admin-primary-2:#14567f;
  --admin-gold:#c49335;
  --admin-blue:#2563eb;
  --admin-red:#dc2626;
  --admin-shadow:0 18px 45px rgba(15,23,42,.08);
  --admin-radius:18px;
  background:var(--admin-bg)!important;
  color:var(--admin-text)!important;
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif!important;
  min-height:100vh;
}
body.admin-body:before{display:none!important;}
body.admin-body *{letter-spacing:normal;}
body.admin-body h1,body.admin-body h2,body.admin-body h3,body.admin-body h4{
  font-family:'DM Sans',system-ui,sans-serif!important;
  color:var(--admin-text)!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
body.admin-body p{color:var(--admin-muted)!important;}
.admin-top{
  position:fixed!important;top:0;left:0;right:0;z-index:1100!important;height:72px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  padding:0 24px!important;background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid var(--admin-border)!important;box-shadow:0 6px 26px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
.admin-top-left,.admin-top-actions{display:flex;align-items:center;gap:12px;min-width:0;}
.admin-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--admin-text)!important;min-width:0;}
.admin-brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--admin-primary),#071827);color:#fff;font-weight:900;font-size:1.15rem;box-shadow:0 10px 25px rgba(15,61,94,.18);}
.admin-brand-copy{display:grid;line-height:1.05;}
.admin-brand-copy strong{font-size:.98rem;font-weight:900;white-space:nowrap;}
.admin-brand-copy small{font-size:.72rem;color:var(--admin-muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.admin-pill-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--admin-border);border-radius:999px;background:#fff;color:var(--admin-text)!important;font-size:.82rem;font-weight:900;text-decoration:none;box-shadow:0 6px 18px rgba(15,23,42,.04);}
.admin-pill-link:hover{border-color:#cbd5e1;background:#f8fafc;transform:translateY(-1px);}
.admin-pill-danger{color:#991b1b!important;background:#fff7f7;border-color:#fecaca;}
.admin-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:42px;height:42px;border-radius:14px;background:#fff;border:1px solid var(--admin-border);box-shadow:0 6px 18px rgba(15,23,42,.05);}
.admin-menu-toggle span{width:18px;height:2px;border-radius:99px;background:var(--admin-text);display:block;}
.admin-wrap{
  display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:22px!important;
  max-width:1600px!important;margin:0 auto!important;padding:94px 22px 30px!important;min-height:100vh!important;
}
.admin-side{
  position:sticky!important;top:94px!important;align-self:start!important;height:calc(100vh - 116px)!important;min-height:0!important;overflow:auto!important;
  padding:16px!important;border:1px solid var(--admin-border)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--admin-shadow)!important;
}
.admin-side-head{padding:12px 12px 16px;border-bottom:1px solid var(--admin-border);margin-bottom:12px;}
.admin-side-head strong{display:block;color:var(--admin-text);font-size:.95rem;font-weight:900;}
.admin-side-head span{display:block;color:var(--admin-muted);font-size:.78rem;line-height:1.4;margin-top:2px;}
.admin-nav{display:grid!important;gap:14px!important;}
.admin-nav-group{display:grid;gap:4px;}
.admin-nav-title{padding:0 12px 3px;color:var(--admin-soft);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em!important;}
.admin-nav a{display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important;padding:10px 12px!important;margin:0!important;border-radius:13px!important;color:#475569!important;background:transparent!important;font-size:.86rem!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;}
.admin-nav a .icon{width:18px;height:18px;color:#94a3b8!important;opacity:1!important;flex:0 0 18px;margin:0!important;}
.admin-nav a:hover{background:#f1f5f9!important;color:var(--admin-text)!important;transform:none!important;}
.admin-nav a:hover .icon{color:var(--admin-primary)!important;}
.admin-nav a.active{background:linear-gradient(135deg,var(--admin-primary),var(--admin-primary-2))!important;color:#fff!important;box-shadow:0 12px 24px rgba(15,61,94,.18)!important;}
.admin-nav a.active .icon{color:#f8d98e!important;}
.admin-main{min-width:0!important;padding:0!important;color:var(--admin-text)!important;}
.admin-main>h2,.admin-main h2[style]{font-size:1.85rem!important;margin-bottom:16px!important;}
.admin-page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px;margin-bottom:22px;border:1px solid var(--admin-border);border-radius:28px;background:radial-gradient(circle at 8% 8%,rgba(196,147,53,.14),transparent 32%),linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:var(--admin-shadow);overflow:hidden;}
.admin-page-hero h1{font-size:clamp(1.9rem,3vw,3.2rem)!important;line-height:1.02!important;max-width:720px;margin:6px 0 10px!important;}
.admin-page-hero p{max-width:760px;margin:0!important;font-size:1rem;}
.admin-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--admin-gold)!important;font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.12em!important;}
.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
body.admin-body .btn{border-radius:12px!important;min-height:40px!important;padding:10px 16px!important;font-family:'DM Sans',system-ui,sans-serif!important;font-weight:900!important;font-size:.84rem!important;letter-spacing:0!important;box-shadow:none!important;}
body.admin-body .btn-primary{background:linear-gradient(135deg,var(--admin-primary),var(--admin-primary-2))!important;border:0!important;color:#fff!important;box-shadow:0 12px 26px rgba(15,61,94,.18)!important;}
body.admin-body .btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 16px 34px rgba(15,61,94,.24)!important;}
body.admin-body .btn-ghost,body.admin-body .btn-outline{background:#fff!important;border:1px solid var(--admin-border)!important;color:var(--admin-text)!important;}
body.admin-body .btn-ghost:hover,body.admin-body .btn-outline:hover{background:#f8fafc!important;border-color:#cbd5e1!important;}
body.admin-body .btn-sm{padding:8px 12px!important;min-height:34px!important;font-size:.78rem!important;}
.admin-stat-grid,.dash-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin:0 0 22px!important;}
.stat-card{position:relative;overflow:hidden;background:#fff!important;border:1px solid var(--admin-border)!important;border-radius:22px!important;padding:18px!important;text-align:left!important;box-shadow:0 12px 34px rgba(15,23,42,.06)!important;backdrop-filter:none!important;}
.stat-card:before{content:"";position:absolute;right:-18px;top:-18px;width:76px;height:76px;border-radius:999px;background:#e0f2fe;opacity:.8;}
.stat-card .label,.stat-card .lbl{position:relative;display:block;color:var(--admin-muted)!important;font-size:.74rem!important;line-height:1.3!important;text-transform:uppercase!important;font-weight:1000!important;letter-spacing:.08em!important;margin-bottom:12px!important;font-family:'DM Sans',system-ui,sans-serif!important;}
.stat-card .val{position:relative;display:block;font-family:'DM Sans',system-ui,sans-serif!important;font-size:2.1rem!important;font-weight:1000!important;font-style:normal!important;color:var(--admin-text)!important;line-height:1!important;text-shadow:none!important;margin:0 0 8px!important;}
.stat-card small{position:relative;display:block;color:var(--admin-muted);font-size:.8rem;font-weight:700;}
.stat-amber:before{background:#fef3c7}.stat-green:before{background:#dbeafe}.stat-red:before{background:#fee2e2}.stat-purple:before{background:#f3e8ff}.stat-cyan:before{background:#cffafe}.stat-orange:before{background:#ffedd5}.stat-indigo:before{background:#e0e7ff}.stat-blue:before{background:#dbeafe}
.admin-grid-2,.grid.grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:start!important;}
.table-wrap,.admin-panel-card,.api-editor-card,.api-vendor-section,.api-help-card{background:#fff!important;color:var(--admin-text)!important;border:1px solid var(--admin-border)!important;border-radius:24px!important;box-shadow:var(--admin-shadow)!important;overflow:hidden!important;backdrop-filter:none!important;}
.table-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:18px 20px!important;background:#fff!important;border-bottom:1px solid var(--admin-border)!important;}
.table-head h3{font-size:1rem!important;margin:2px 0 0!important;color:var(--admin-text)!important;font-weight:900!important;letter-spacing:-.02em!important;}
.admin-table-scroll{overflow-x:auto;}
.tbl{width:100%!important;border-collapse:collapse!important;background:#fff!important;}
.tbl th{background:#f8fafc!important;color:#64748b!important;border-bottom:1px solid var(--admin-border)!important;padding:12px 16px!important;font-family:'DM Sans',system-ui,sans-serif!important;font-size:.72rem!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.08em!important;white-space:nowrap!important;}
.tbl td{padding:14px 16px!important;color:#334155!important;border-bottom:1px solid #eef2f7!important;font-size:.88rem!important;vertical-align:middle!important;}
.tbl tbody tr:hover td{background:#f8fafc!important;color:#0f172a!important;}
.tbl strong{color:#0f172a!important;font-weight:900!important;}
.muted-small{color:#64748b!important;font-size:.78rem!important;margin-top:2px;}
.admin-empty-state{padding:34px;text-align:center;color:var(--admin-muted);font-weight:800;background:#fff;}
body.admin-body .badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 10px;border-radius:999px;font-size:.7rem;font-weight:1000;text-transform:uppercase;letter-spacing:.05em;}
body.admin-body .badge-pending{background:#fef3c7;color:#92400e;}
body.admin-body .badge-approved,body.admin-body .badge-active{background:#dbeafe;color:#1d4ed8;}
body.admin-body .badge-rejected,body.admin-body .badge-cancelled{background:#fee2e2;color:#991b1b;}
body.admin-body .badge-draft{background:#e2e8f0;color:#334155;}
body.admin-body input,body.admin-body select,body.admin-body textarea,body.admin-body .input,body.admin-body .select,body.admin-body .textarea{width:100%;min-height:44px;border:1px solid #cbd5e1!important;border-radius:13px!important;background:#fff!important;color:#0f172a!important;padding:11px 13px!important;box-shadow:none!important;font-family:'DM Sans',system-ui,sans-serif!important;font-size:.9rem!important;outline:none!important;}
body.admin-body textarea,body.admin-body .textarea{min-height:116px;resize:vertical;}
body.admin-body input:focus,body.admin-body select:focus,body.admin-body textarea:focus,body.admin-body .input:focus,body.admin-body .select:focus,body.admin-body .textarea:focus{border-color:var(--admin-primary-2)!important;box-shadow:0 0 0 4px rgba(20,86,127,.12)!important;}
body.admin-body label{display:block;color:#334155!important;font-size:.82rem!important;font-weight:900!important;margin-bottom:7px!important;letter-spacing:0!important;}
body.admin-body .form-grid{display:grid!important;gap:16px!important;}
body.admin-body .form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body.admin-body .alert{border-radius:16px!important;border:1px solid var(--admin-border)!important;background:#fff!important;color:#0f172a!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important;margin-bottom:18px!important;}
body.admin-body .api-hub-hero{background:linear-gradient(135deg,#0f3d5e,#082238)!important;border-radius:28px!important;box-shadow:var(--admin-shadow)!important;border:0!important;}
body.admin-body .api-hub-hero h1,body.admin-body .api-hub-hero p{color:#fff!important;}
body.admin-body .api-editor-card,body.admin-body .api-vendor-section{padding:22px!important;}
body.admin-body .api-type-tile{border:1px solid var(--admin-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;}
body.admin-body .api-type-tile.selected,body.admin-body .api-type-tile:hover{border-color:var(--admin-primary-2)!important;box-shadow:0 10px 26px rgba(20,86,127,.10)!important;transform:none!important;}
body.admin-body .api-vendor-card{background:#fff!important;border:1px solid var(--admin-border)!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(15,23,42,.06)!important;}
body.admin-body .api-help-card{background:#0f172a!important;color:#fff!important;}
body.admin-body .api-help-card h3,body.admin-body .api-help-card p{color:#fff!important;}
body.admin-body .api-json{background:#0b1220!important;color:#d8f3dc!important;border-color:#1e293b!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;}
@media(max-width:1180px){.admin-wrap{grid-template-columns:248px minmax(0,1fr)!important}.admin-stat-grid,.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-grid-2,.grid.grid-2{grid-template-columns:1fr!important}}
@media(max-width:900px){
  .admin-menu-toggle{display:flex!important;}
  .admin-wrap{display:block!important;padding:88px 14px 24px!important;}
  .admin-side{position:fixed!important;z-index:1200!important;top:84px!important;left:14px!important;bottom:14px!important;width:min(330px,calc(100vw - 28px))!important;height:auto!important;transform:translateX(calc(-100% - 26px))!important;transition:transform .22s ease!important;}
  body.admin-menu-open .admin-side{transform:translateX(0)!important;}
  body.admin-menu-open:after{content:"";position:fixed;inset:0;background:rgba(15,23,42,.46);z-index:1150;backdrop-filter:blur(3px);}
  .admin-main{position:relative;z-index:1;}
  .admin-page-hero{align-items:flex-start;flex-direction:column;padding:22px;border-radius:22px;}
  .admin-hero-actions{justify-content:flex-start;width:100%;}
}
@media(max-width:640px){
  .admin-top{height:66px!important;padding:0 12px!important;}
  .admin-brand-mark{width:38px;height:38px;border-radius:12px;}
  .admin-brand-copy small{display:none;}
  .admin-top-actions{gap:6px;}
  .admin-pill-link{min-height:34px;padding:0 10px;font-size:.74rem;}
  .admin-wrap{padding-top:78px!important;}
  .admin-page-hero h1{font-size:1.85rem!important;}
  .admin-stat-grid,.dash-cards{grid-template-columns:1fr!important;gap:12px!important;}
  .stat-card{padding:16px!important;border-radius:18px!important;}
  body.admin-body .form-grid.cols-2{grid-template-columns:1fr!important;}
  .table-head{align-items:flex-start!important;flex-direction:column!important;}
  .admin-table-scroll{margin:0 -1px;}
  .tbl{min-width:620px;}
}

/* Full Umrah Package live API polish */
.live-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 8px;}
.live-price-grid span{display:block;border:1px solid rgba(212,175,55,.22);background:rgba(212,175,55,.08);border-radius:14px;padding:9px 10px;}
.live-price-grid small{display:block;font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-600);font-weight:800;margin-bottom:4px;}
.live-price-grid b{display:block;font-size:.88rem;color:var(--dark);}
body:not(.admin-body) .live-price-grid span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);}
body:not(.admin-body) .live-price-grid small{color:rgba(255,255,255,.55);}
body:not(.admin-body) .live-price-grid b{color:#fff;}
@media(max-width:520px){.live-price-grid{grid-template-columns:1fr 1fr;gap:7px}.live-price-grid span{padding:8px}.live-price-grid b{font-size:.78rem}}

/* ═════════════════════════════════════════════════════════════
   PUBLIC SITE RESCUE — admin-quality theme, clearer contrast
   Added after full revamp so it wins over older cosmic/AI styles.
   ═════════════════════════════════════════════════════════════ */
:root{
  --font-display:'DM Serif Display', Georgia, serif;
  --font-body:'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:'DM Sans', system-ui, sans-serif;
  --public-bg:#07111f;
  --public-bg-2:#0b1730;
  --public-panel:#ffffff;
  --public-panel-2:#f8fafc;
  --public-text:#f8fafc;
  --public-muted:#aab7c8;
  --public-ink:#0f172a;
  --public-ink-muted:#64748b;
  --public-border:rgba(255,255,255,.12);
  --public-gold:#e6bd66;
  --public-gold-2:#f7d88a;
  --public-blue:#14567f;
  --gold:var(--public-gold);
  --gold-bright:var(--public-gold-2);
  --text:var(--public-text);
  --text-muted:rgba(248,250,252,.72);
  --text-faint:rgba(248,250,252,.48);
}
body:not(.admin-body){font-family:var(--font-body)!important;background:linear-gradient(135deg,#07111f 0%,#0b1730 48%,#101827 100%)!important;color:var(--public-text)!important;letter-spacing:0!important;}
body:not(.admin-body)::before{opacity:.22!important;}
body:not(.admin-body) h1,body:not(.admin-body) h2{font-family:var(--font-display)!important;font-weight:400!important;letter-spacing:-.035em!important;}
body:not(.admin-body) h3,body:not(.admin-body) h4{font-family:var(--font-body)!important;font-weight:900!important;letter-spacing:-.025em!important;}
body:not(.admin-body) p{color:rgba(248,250,252,.72)!important;}
body:not(.admin-body) .navbar{background:rgba(7,17,31,.84)!important;border-bottom:1px solid rgba(255,255,255,.09)!important;box-shadow:0 18px 55px rgba(0,0,0,.18)!important;}
body:not(.admin-body) .brand{font-family:var(--font-body)!important;font-weight:1000!important;letter-spacing:-.02em!important;text-transform:none!important;font-size:1.05rem!important;}
body:not(.admin-body) .brand-mark{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#14567f,#0f3d5e)!important;color:#fff!important;font-family:var(--font-body)!important;font-weight:1000!important;box-shadow:0 14px 30px rgba(20,86,127,.34)!important;}
body:not(.admin-body) .nav-links a{font-family:var(--font-body)!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.01em!important;text-transform:none!important;border-radius:999px;padding:9px 13px!important;color:rgba(248,250,252,.72)!important;}
body:not(.admin-body) .nav-links a:hover,body:not(.admin-body) .nav-links a.active{background:rgba(255,255,255,.09)!important;color:#fff!important;}
body:not(.admin-body) .nav-links a.active:before{display:none!important;}
body:not(.admin-body) .mobile-menu{background:#07111f!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:0 24px 80px rgba(0,0,0,.38)!important;}
body:not(.admin-body) .mobile-menu a{font-weight:900;color:rgba(255,255,255,.82)!important;}
body:not(.admin-body) .mobile-menu a.active{color:#fff!important;background:rgba(255,255,255,.08);}
body:not(.admin-body) .page-intro{background:radial-gradient(circle at 30% 10%,rgba(230,189,102,.16),transparent 30%),linear-gradient(135deg,#07111f,#0e2238)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
body:not(.admin-body) .page-intro h1{color:#fff!important;}
body:not(.admin-body) .package-card,body:not(.admin-body) .hotel-card,body:not(.admin-body) .news-card,body:not(.admin-body) .testi-card{background:#fff!important;color:#0f172a!important;border:1px solid rgba(226,232,240,.9)!important;border-radius:24px!important;box-shadow:0 20px 60px rgba(0,0,0,.18)!important;overflow:hidden!important;}
body:not(.admin-body) .package-card h3,body:not(.admin-body) .hotel-card h3{color:#0f172a!important;}
body:not(.admin-body) .package-card p,body:not(.admin-body) .hotel-card p,body:not(.admin-body) .desc{color:#5f6f82!important;}
body:not(.admin-body) .package-card .media,body:not(.admin-body) .hotel-card .media{background:linear-gradient(135deg,#0f3d5e,#10233a)!important;}
body:not(.admin-body) .meta span,body:not(.admin-body) .dist,body:not(.admin-body) .hotel-availability,body:not(.admin-body) .pkg-flight-row{background:#f8fafc!important;border:1px solid #e2e8f0!important;color:#334155!important;}
body:not(.admin-body) .pkg-flight-label,body:not(.admin-body) .hotel-availability-label{color:#64748b!important;}
body:not(.admin-body) .price{color:#0f172a!important;font-family:var(--font-body)!important;font-weight:1000!important;font-style:normal!important;}
body:not(.admin-body) .price small,body:not(.admin-body) .api-source{color:#64748b!important;}
body:not(.admin-body) .filter-bar{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;padding:8px!important;margin-bottom:22px!important;}
body:not(.admin-body) .filter-bar button{border-radius:999px!important;padding:10px 16px!important;color:rgba(255,255,255,.72)!important;font-weight:900!important;}
body:not(.admin-body) .filter-bar button.active,body:not(.admin-body) .filter-bar button:hover{background:#fff!important;color:#0f172a!important;}
.listing-search{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,.34fr)) auto auto;gap:12px;align-items:end;margin:0 0 20px;padding:16px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);border-radius:24px;box-shadow:0 18px 55px rgba(0,0,0,.16);}
.listing-search-field{display:grid;gap:6px;}
.listing-search-field label{font-size:.75rem!important;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.68)!important;}
.listing-search input,.listing-search select{width:100%;min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.09);color:#fff;padding:10px 12px;font-family:var(--font-body);font-weight:700;outline:none;}
.listing-search input::placeholder{color:rgba(255,255,255,.42);}
.listing-search select option{color:#0f172a;background:#fff;}
.booking-choice-page{padding:calc(var(--nav-h) + 48px) 0 80px;background:radial-gradient(circle at 10% 0%,rgba(230,189,102,.14),transparent 24%),linear-gradient(135deg,#07111f,#0b1730);min-height:100vh;}
.booking-choice-hero{max-width:760px;margin:0 0 28px;}
.booking-choice-hero h1{font-size:clamp(2.2rem,5vw,4.2rem);color:#fff;margin:10px 0 10px;}
.booking-choice-hero p{font-size:1.05rem;color:rgba(255,255,255,.72)!important;}
.booking-choice-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;align-items:start;}
.booking-preview-card,.booking-action-panel,.booking-channel-card,.booking-account-form{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);border-radius:28px;box-shadow:0 24px 75px rgba(0,0,0,.24);}
.booking-preview-card{padding:24px;position:sticky;top:calc(var(--nav-h) + 22px);}
.booking-preview-top span,.booking-preview-facts span{display:block;color:rgba(255,255,255,.58);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.booking-preview-top strong{display:block;color:#fff;font-size:1.35rem;line-height:1.15;margin-bottom:18px;}
.booking-preview-price{font-size:2rem;font-weight:1000;color:var(--public-gold-2);line-height:1;margin:18px 0;padding:18px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);}
.booking-preview-price small{display:block;font-size:.78rem;color:rgba(255,255,255,.55);margin-top:8px;font-weight:800;}
.booking-preview-facts{display:grid;gap:10px;}
.booking-preview-facts b{color:#fff;text-transform:none;letter-spacing:0;font-weight:800;}
.booking-action-panel{padding:18px;}
.booking-channel-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.booking-channel-card{display:block;padding:22px;color:#fff;transition:.2s ease;}
.booking-channel-card:hover,.booking-channel-card.active{transform:translateY(-2px);border-color:rgba(230,189,102,.5);background:rgba(255,255,255,.11);}
.booking-channel-card.muted{opacity:.98;}
.channel-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#e6bd66,#f7d88a);color:#0f172a;font-weight:1000;margin-bottom:14px;}
.booking-channel-card strong{display:block;font-size:1.05rem;margin-bottom:7px;}
.booking-channel-card small{display:block;color:rgba(255,255,255,.66);line-height:1.55;font-weight:600;}
.booking-auth-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;}
.booking-account-form{margin-top:16px!important;background:#fff!important;color:#0f172a!important;padding:22px!important;}
.booking-account-form h3{color:#0f172a!important;margin-bottom:14px;}
.booking-account-form label{color:#334155!important;}
.nav-editor-table .input.mini{width:74px!important;min-width:74px!important;}
.checkline{display:block!important;margin:2px 0!important;font-size:.78rem!important;color:#334155!important;font-weight:800!important;}
.checkline input{width:auto!important;min-height:0!important;margin-right:6px;}
.admin-table-wrap{overflow:auto;}
.admin-table{width:100%;border-collapse:collapse;min-width:900px;}
.admin-table th{background:#f8fafc;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:1000;text-align:left;padding:12px;border-bottom:1px solid #e2e8f0;}
.admin-table td{padding:12px;border-bottom:1px solid #eef2f7;vertical-align:middle;}
.admin-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px;}
.admin-page-head h2{margin:0!important;}
.admin-page-head p{color:#64748b!important;margin:5px 0 0!important;}
.admin-kicker{font-size:.72rem;color:#14567f;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;}
.admin-clean-card{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 16px 44px rgba(15,23,42,.08)!important;border-radius:24px!important;}
@media(max-width:1100px){.listing-search{grid-template-columns:1fr 1fr}.booking-choice-grid{grid-template-columns:1fr}.booking-preview-card{position:relative;top:auto}.booking-channel-cards{grid-template-columns:1fr}}
@media(max-width:720px){body:not(.admin-body) section{padding:54px 0!important}.listing-search{grid-template-columns:1fr;border-radius:20px}.filter-bar{border-radius:20px!important;overflow:auto;justify-content:flex-start!important}.booking-choice-page{padding-top:calc(var(--nav-h) + 26px)}.booking-action-panel,.booking-preview-card{border-radius:22px}.booking-channel-card{padding:18px}.admin-page-head{display:block}.booking-preview-price{font-size:1.6rem}}

/* ===================================================================
   PUBLIC UI RESCUE v2 — clean agency website, not overdesigned AI UI
   Added after previous layers so it wins the cascade.
   =================================================================== */
body:not(.admin-body){
  background:#f4f7fb!important;
  color:#102033!important;
}
body:not(.admin-body)::before{display:none!important;}
body:not(.admin-body) .navbar{
  background:#07111f!important;
  height:74px!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
  box-shadow:0 14px 35px rgba(15,23,42,.22)!important;
}
body:not(.admin-body) .brand-mark{background:#14567f!important;box-shadow:none!important;}
body:not(.admin-body) .nav-links a{color:rgba(255,255,255,.76)!important;}
body:not(.admin-body) .nav-links a:hover,
body:not(.admin-body) .nav-links a.active{background:rgba(255,255,255,.12)!important;color:#fff!important;}
body:not(.admin-body) .page-intro{
  padding:calc(var(--nav-h) + 54px) 18px 46px!important;
  background:linear-gradient(135deg,#07111f 0%,#0e2740 100%)!important;
  border-bottom:0!important;
}
body:not(.admin-body) .page-intro h1{
  font-family:var(--font-body)!important;
  font-weight:1000!important;
  font-size:clamp(2rem,5vw,3.7rem)!important;
  line-height:1.02!important;
  max-width:860px!important;
}
body:not(.admin-body) .page-intro p{color:rgba(255,255,255,.72)!important;max-width:680px!important;}
body:not(.admin-body) section{padding:44px 0!important;}
body:not(.admin-body) .container{max-width:1180px!important;}
body:not(.admin-body) .listing-search{
  grid-template-columns:1.2fr .7fr .72fr .72fr .72fr auto auto!important;
  gap:10px!important;
  background:#ffffff!important;
  border:1px solid #dbe4ef!important;
  border-radius:22px!important;
  box-shadow:0 16px 36px rgba(15,23,42,.08)!important;
  padding:14px!important;
  margin-bottom:14px!important;
}
body:not(.admin-body) .listing-search-field label{
  color:#64748b!important;
  letter-spacing:.04em!important;
  font-size:.7rem!important;
}
body:not(.admin-body) .listing-search input,
body:not(.admin-body) .listing-search select{
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid #dbe4ef!important;
  min-height:42px!important;
  border-radius:12px!important;
  font-weight:750!important;
}
body:not(.admin-body) .listing-search input::placeholder{color:#94a3b8!important;}
body:not(.admin-body) .search-context{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:10px 12px!important;
  margin:0 0 16px!important;
  background:#eaf2fb!important;
  border:1px solid #cfe0f5!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
body:not(.admin-body) .search-context-label{color:#64748b!important;font-weight:900!important;font-size:.78rem!important;}
body:not(.admin-body) .search-context-tag{
  background:#fff!important;
  color:#334155!important;
  border:1px solid #dbe4ef!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  font-size:.8rem!important;
  font-weight:750!important;
}
body:not(.admin-body) .search-context-clear{margin-left:auto;color:#0f3d5e!important;font-weight:900!important;font-size:.82rem!important;}
body:not(.admin-body) .filter-bar{
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  border-radius:18px!important;
  padding:8px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
}
body:not(.admin-body) .filter-bar button{
  color:#475569!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
}
body:not(.admin-body) .filter-bar button.active,
body:not(.admin-body) .filter-bar button:hover{
  background:#14567f!important;
  color:#fff!important;
  border-color:#14567f!important;
}
body:not(.admin-body) .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
body:not(.admin-body) .package-card,
body:not(.admin-body) .hotel-card{
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  border-radius:22px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
  transform:none!important;
}
body:not(.admin-body) .package-card:hover,
body:not(.admin-body) .hotel-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.12)!important;
}
body:not(.admin-body) .package-card .media,
body:not(.admin-body) .hotel-card .media{
  height:154px!important;
  background:linear-gradient(135deg,#0f3d5e,#14567f)!important;
}
body:not(.admin-body) .package-card .body,
body:not(.admin-body) .hotel-card .body{padding:18px!important;}
body:not(.admin-body) .package-card h3,
body:not(.admin-body) .hotel-card h3{font-size:1.03rem!important;line-height:1.25!important;margin-bottom:10px!important;color:#102033!important;}
body:not(.admin-body) .pkg-flight{gap:6px!important;margin:8px 0!important;}
body:not(.admin-body) .pkg-flight-row,
body:not(.admin-body) .meta span,
body:not(.admin-body) .dist,
body:not(.admin-body) .hotel-availability{
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  color:#334155!important;
  box-shadow:none!important;
}
body:not(.admin-body) .meta{gap:6px!important;margin:10px 0!important;}
body:not(.admin-body) .desc{font-size:.86rem!important;line-height:1.55!important;color:#64748b!important;}
body:not(.admin-body) .live-price-grid{
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:12px 0!important;
}
body:not(.admin-body) .live-price-grid span{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;padding:8px!important;}
body:not(.admin-body) .live-price-grid small{display:block;color:#64748b!important;font-size:.7rem!important;font-weight:900!important;}
body:not(.admin-body) .live-price-grid b{color:#0f172a!important;font-size:.86rem!important;}
body:not(.admin-body) .foot{border-top:1px solid #eef2f7!important;padding-top:14px!important;align-items:flex-end!important;}
body:not(.admin-body) .price{color:#0f172a!important;font-size:1.1rem!important;}
body:not(.admin-body) .btn-primary,
body:not(.admin-body) .btn-sky{
  background:#14567f!important;
  color:#fff!important;
  border:1px solid #14567f!important;
  box-shadow:none!important;
}
body:not(.admin-body) .btn-primary:hover,
body:not(.admin-body) .btn-sky:hover{background:#0f3d5e!important;border-color:#0f3d5e!important;}
body:not(.admin-body) .btn-ghost{background:#fff!important;border:1px solid #dbe4ef!important;color:#0f3d5e!important;}
body:not(.admin-body) .alert{background:#fff!important;border:1px solid #dbe4ef!important;color:#334155!important;border-radius:18px!important;}
@media(max-width:1180px){
  body:not(.admin-body) .listing-search{grid-template-columns:1fr 1fr 1fr!important;}
  body:not(.admin-body) .listing-search .btn{width:100%!important;justify-content:center!important;}
}
@media(max-width:900px){
  body:not(.admin-body) .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  body:not(.admin-body) .page-intro{padding:104px 16px 34px!important;text-align:left!important;}
  body:not(.admin-body) .page-intro h1{font-size:2.25rem!important;margin-left:0!important;margin-right:0!important;}
  body:not(.admin-body) .page-intro p{margin-left:0!important;margin-right:0!important;}
  body:not(.admin-body) .listing-search{grid-template-columns:1fr!important;border-radius:18px!important;}
  body:not(.admin-body) .grid-3{grid-template-columns:1fr!important;}
  body:not(.admin-body) .package-card .media,body:not(.admin-body) .hotel-card .media{height:138px!important;}
  body:not(.admin-body) .foot{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  body:not(.admin-body) .foot .btn{width:100%!important;justify-content:center!important;}
  body:not(.admin-body) .filter-bar{overflow:auto!important;flex-wrap:nowrap!important;white-space:nowrap!important;}
  body:not(.admin-body) .search-context-clear{margin-left:0!important;width:100%!important;}
}

/* ===================================================================
   GLOBAL CONTRAST HOTFIX — website + admin panel
   Purpose: stop white text on white backgrounds and pale UI collisions.
   Added after all previous UI layers so it wins the cascade.
   =================================================================== */
:root{
  --safe-ink:#0f172a;
  --safe-ink-2:#1e293b;
  --safe-muted:#475569;
  --safe-line:#dbe4ef;
  --safe-soft:#f8fafc;
  --safe-panel:#ffffff;
  --safe-primary:#0f3d5e;
  --safe-primary-2:#14567f;
  --safe-gold:#c49335;
}

/* ---------- Public website: light content surfaces must use dark text ---------- */
body:not(.admin-body){
  background:#f4f7fb!important;
  color:var(--safe-ink)!important;
}
body:not(.admin-body) main,
body:not(.admin-body) section:not(.hero):not(.page-intro):not(.booking-choice-page),
body:not(.admin-body) .container{
  color:var(--safe-ink)!important;
}
body:not(.admin-body) .package-card,
body:not(.admin-body) .hotel-card,
body:not(.admin-body) .news-card,
body:not(.admin-body) .booking-account-form,
body:not(.admin-body) .booking-summary,
body:not(.admin-body) .booking-facts .fact,
body:not(.admin-body) .contact-card,
body:not(.admin-body) .form-wrap,
body:not(.admin-body) .promo-card,
body:not(.admin-body) .testi-card,
body:not(.admin-body) .table-wrap,
body:not(.admin-body) .listing-search,
body:not(.admin-body) .search-context,
body:not(.admin-body) .filter-bar,
body:not(.admin-body) .admin-clean-card{
  background:var(--safe-panel)!important;
  color:var(--safe-ink)!important;
  border-color:var(--safe-line)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
  backdrop-filter:none!important;
}
body:not(.admin-body) .package-card *,
body:not(.admin-body) .hotel-card *,
body:not(.admin-body) .news-card *,
body:not(.admin-body) .booking-account-form *,
body:not(.admin-body) .booking-summary *,
body:not(.admin-body) .booking-facts .fact *,
body:not(.admin-body) .contact-card *,
body:not(.admin-body) .form-wrap *,
body:not(.admin-body) .promo-card *,
body:not(.admin-body) .testi-card *,
body:not(.admin-body) .table-wrap *,
body:not(.admin-body) .listing-search *,
body:not(.admin-body) .search-context *,
body:not(.admin-body) .filter-bar *,
body:not(.admin-body) .admin-clean-card *{
  text-shadow:none!important;
}
body:not(.admin-body) .package-card h1,
body:not(.admin-body) .package-card h2,
body:not(.admin-body) .package-card h3,
body:not(.admin-body) .package-card h4,
body:not(.admin-body) .hotel-card h1,
body:not(.admin-body) .hotel-card h2,
body:not(.admin-body) .hotel-card h3,
body:not(.admin-body) .hotel-card h4,
body:not(.admin-body) .news-card h1,
body:not(.admin-body) .news-card h2,
body:not(.admin-body) .news-card h3,
body:not(.admin-body) .news-card h4,
body:not(.admin-body) .booking-account-form h1,
body:not(.admin-body) .booking-account-form h2,
body:not(.admin-body) .booking-account-form h3,
body:not(.admin-body) .booking-summary h1,
body:not(.admin-body) .booking-summary h2,
body:not(.admin-body) .booking-summary h3,
body:not(.admin-body) .contact-card h1,
body:not(.admin-body) .contact-card h2,
body:not(.admin-body) .contact-card h3,
body:not(.admin-body) .form-wrap h1,
body:not(.admin-body) .form-wrap h2,
body:not(.admin-body) .form-wrap h3,
body:not(.admin-body) .promo-card h1,
body:not(.admin-body) .promo-card h2,
body:not(.admin-body) .promo-card h3,
body:not(.admin-body) .testi-card h1,
body:not(.admin-body) .testi-card h2,
body:not(.admin-body) .testi-card h3{
  color:var(--safe-ink)!important;
}
body:not(.admin-body) .package-card p,
body:not(.admin-body) .package-card .desc,
body:not(.admin-body) .hotel-card p,
body:not(.admin-body) .hotel-card .desc,
body:not(.admin-body) .news-card p,
body:not(.admin-body) .booking-account-form p,
body:not(.admin-body) .booking-summary p,
body:not(.admin-body) .contact-card p,
body:not(.admin-body) .form-wrap p,
body:not(.admin-body) .promo-card p,
body:not(.admin-body) .testi-card p,
body:not(.admin-body) .listing-search label,
body:not(.admin-body) .search-context-label{
  color:var(--safe-muted)!important;
}
body:not(.admin-body) .meta span,
body:not(.admin-body) .dist,
body:not(.admin-body) .hotel-availability,
body:not(.admin-body) .pkg-flight-row,
body:not(.admin-body) .live-price-grid,
body:not(.admin-body) .live-price-grid span,
body:not(.admin-body) .booking-preview-facts b,
body:not(.admin-body) .booking-facts b,
body:not(.admin-body) .search-context-tag{
  background:var(--safe-soft)!important;
  color:#334155!important;
  border:1px solid #e2e8f0!important;
}
body:not(.admin-body) .price,
body:not(.admin-body) .live-price-grid b,
body:not(.admin-body) .booking-preview-price{
  color:var(--safe-ink)!important;
}
body:not(.admin-body) .price small,
body:not(.admin-body) .live-price-grid small,
body:not(.admin-body) .pkg-flight-label,
body:not(.admin-body) .booking-preview-facts span,
body:not(.admin-body) .booking-facts .lbl{
  color:#64748b!important;
}

/* Public forms: readable on both cards and filters */
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
body:not(.admin-body) .input,
body:not(.admin-body) .textarea,
body:not(.admin-body) .listing-search input,
body:not(.admin-body) .listing-search select{
  background:#fff!important;
  color:var(--safe-ink)!important;
  border:1px solid var(--safe-line)!important;
  box-shadow:none!important;
}
body:not(.admin-body) input::placeholder,
body:not(.admin-body) textarea::placeholder,
body:not(.admin-body) .listing-search input::placeholder{
  color:#94a3b8!important;
  opacity:1!important;
}
body:not(.admin-body) select option{background:#fff!important;color:var(--safe-ink)!important;}
body:not(.admin-body) label{color:var(--safe-muted)!important;}

/* Keep genuinely dark sections dark with readable text */
body:not(.admin-body) .navbar,
body:not(.admin-body) .mobile-menu,
body:not(.admin-body) .page-intro,
body:not(.admin-body) .hero,
body:not(.admin-body) .booking-choice-page,
body:not(.admin-body) .footer,
body:not(.admin-body) .site-footer,
body:not(.admin-body) .booking-preview-card,
body:not(.admin-body) .booking-action-panel,
body:not(.admin-body) .booking-channel-card{
  color:#fff!important;
}
body:not(.admin-body) .navbar a,
body:not(.admin-body) .mobile-menu a,
body:not(.admin-body) .page-intro h1,
body:not(.admin-body) .page-intro h2,
body:not(.admin-body) .page-intro h3,
body:not(.admin-body) .hero h1,
body:not(.admin-body) .hero h2,
body:not(.admin-body) .hero h3,
body:not(.admin-body) .booking-choice-page h1,
body:not(.admin-body) .booking-choice-page h2,
body:not(.admin-body) .booking-choice-page h3,
body:not(.admin-body) .footer h1,
body:not(.admin-body) .footer h2,
body:not(.admin-body) .footer h3,
body:not(.admin-body) .footer h4,
body:not(.admin-body) .site-footer h1,
body:not(.admin-body) .site-footer h2,
body:not(.admin-body) .site-footer h3,
body:not(.admin-body) .site-footer h4,
body:not(.admin-body) .booking-preview-card strong,
body:not(.admin-body) .booking-channel-card strong{
  color:#fff!important;
}
body:not(.admin-body) .page-intro p,
body:not(.admin-body) .hero p,
body:not(.admin-body) .booking-choice-page p,
body:not(.admin-body) .footer p,
body:not(.admin-body) .footer a,
body:not(.admin-body) .site-footer p,
body:not(.admin-body) .site-footer a,
body:not(.admin-body) .booking-channel-card small{
  color:rgba(255,255,255,.74)!important;
}
body:not(.admin-body) .booking-preview-card,
body:not(.admin-body) .booking-action-panel,
body:not(.admin-body) .booking-channel-card{
  background:rgba(7,17,31,.88)!important;
  border-color:rgba(255,255,255,.14)!important;
}
body:not(.admin-body) .booking-preview-price{color:#f8d98e!important;}

/* Buttons: no invisible text */
body:not(.admin-body) .btn-primary,
body.admin-body .btn-primary{
  background:var(--safe-primary)!important;
  color:#fff!important;
  border:1px solid var(--safe-primary)!important;
}
body:not(.admin-body) .btn-primary:hover,
body.admin-body .btn-primary:hover{background:var(--safe-primary-2)!important;border-color:var(--safe-primary-2)!important;}
body:not(.admin-body) .btn-ghost,
body:not(.admin-body) .btn-outline,
body.admin-body .btn-ghost,
body.admin-body .btn-outline{
  background:#fff!important;
  color:var(--safe-primary)!important;
  border:1px solid var(--safe-line)!important;
}
body:not(.admin-body) .btn-sky{background:#0ea5e9!important;color:#fff!important;border:1px solid #0ea5e9!important;}
body:not(.admin-body) a:not(.btn):not(.brand):not(.booking-channel-card){color:inherit;}
body:not(.admin-body) .package-card a:not(.btn),
body:not(.admin-body) .hotel-card a:not(.btn),
body:not(.admin-body) .news-card a:not(.btn),
body:not(.admin-body) .form-wrap a:not(.btn){color:var(--safe-primary)!important;font-weight:800;}

/* ---------- Admin panel contrast hardening ---------- */
body.admin-body{
  background:#f3f6fb!important;
  color:var(--safe-ink)!important;
}
body.admin-body .admin-main,
body.admin-body .admin-main section,
body.admin-body .admin-main .admin-panel-card,
body.admin-body .admin-main .admin-clean-card,
body.admin-body .admin-main .table-wrap,
body.admin-body .admin-main .stat-card,
body.admin-body .admin-main .api-editor-card,
body.admin-body .admin-main .api-vendor-section,
body.admin-body .admin-main .api-vendor-card,
body.admin-body .admin-main .api-type-tile,
body.admin-body .admin-main .admin-table-wrap,
body.admin-body .admin-main form,
body.admin-body .admin-main fieldset{
  background:#fff!important;
  color:var(--safe-ink)!important;
  border-color:var(--safe-line)!important;
  text-shadow:none!important;
}
body.admin-body .admin-main h1,
body.admin-body .admin-main h2,
body.admin-body .admin-main h3,
body.admin-body .admin-main h4,
body.admin-body .admin-main strong,
body.admin-body .admin-main b,
body.admin-body .admin-main .val,
body.admin-body .admin-main .price{
  color:var(--safe-ink)!important;
  text-shadow:none!important;
}
body.admin-body .admin-main p,
body.admin-body .admin-main small,
body.admin-body .admin-main .muted,
body.admin-body .admin-main .label,
body.admin-body .admin-main .lbl,
body.admin-body .admin-main .help,
body.admin-body .admin-main .vendor-url,
body.admin-body .admin-main .vendor-id{
  color:var(--safe-muted)!important;
}
body.admin-body input,
body.admin-body select,
body.admin-body textarea,
body.admin-body .input,
body.admin-body .textarea{
  background:#fff!important;
  color:var(--safe-ink)!important;
  border:1px solid var(--safe-line)!important;
  box-shadow:none!important;
}
body.admin-body input::placeholder,
body.admin-body textarea::placeholder{color:#94a3b8!important;opacity:1!important;}
body.admin-body label{color:#334155!important;font-weight:800!important;}
body.admin-body .tbl,
body.admin-body .admin-table{background:#fff!important;color:var(--safe-ink)!important;}
body.admin-body .tbl th,
body.admin-body .admin-table th{background:#f8fafc!important;color:#475569!important;border-color:#e2e8f0!important;}
body.admin-body .tbl td,
body.admin-body .admin-table td{background:#fff!important;color:#334155!important;border-color:#eef2f7!important;}
body.admin-body .tbl tr:hover td,
body.admin-body .admin-table tr:hover td{background:#f8fafc!important;}
body.admin-body .alert{background:#fff!important;color:#334155!important;border:1px solid var(--safe-line)!important;}
body.admin-body .api-help-card{
  background:#07111f!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.14)!important;
}
body.admin-body .api-help-card h1,
body.admin-body .api-help-card h2,
body.admin-body .api-help-card h3,
body.admin-body .api-help-card strong{color:#fff!important;}
body.admin-body .api-help-card p,
body.admin-body .api-help-card small{color:rgba(255,255,255,.72)!important;}
body.admin-body .api-json,
body.admin-body pre,
body.admin-body code{
  background:#0b1220!important;
  color:#d8f3dc!important;
  border-color:#1f2937!important;
}
body.admin-body .admin-nav a.active,
body.admin-body .admin-nav a.active span,
body.admin-body .admin-nav a.active .icon{color:#fff!important;}
body.admin-body .admin-pill-danger{background:#fff1f2!important;color:#991b1b!important;border-color:#fecdd3!important;}

/* Inline style rescue for legacy boxes */
body:not(.admin-body) [style*="background:#fff"],
body:not(.admin-body) [style*="background: #fff"],
body:not(.admin-body) [style*="background:white"],
body:not(.admin-body) [style*="background: white"],
body.admin-body [style*="background:#fff"],
body.admin-body [style*="background: #fff"],
body.admin-body [style*="background:white"],
body.admin-body [style*="background: white"]{
  color:var(--safe-ink)!important;
}
body:not(.admin-body) [style*="color:#fff"][style*="background:#fff"],
body:not(.admin-body) [style*="color: #fff"][style*="background:#fff"],
body.admin-body [style*="color:#fff"][style*="background:#fff"],
body.admin-body [style*="color: #fff"][style*="background:#fff"]{
  color:var(--safe-ink)!important;
}

@media(max-width:760px){
  body:not(.admin-body) .listing-search{grid-template-columns:1fr!important;}
  body:not(.admin-body) .package-card,
  body:not(.admin-body) .hotel-card,
  body:not(.admin-body) .news-card{border-radius:18px!important;}
  body.admin-body .admin-main{padding-bottom:30px!important;}
}

/* ===================================================================
   CEO RESCUE PASS — contrast + ticket search UX + image cards
   This intentionally sits last and wins old decorative CSS conflicts.
   =================================================================== */
:root{
  --ceo-bg:#f5f7fb;
  --ceo-card:#ffffff;
  --ceo-ink:#111827;
  --ceo-muted:#4b5563;
  --ceo-line:#d9e2ef;
  --ceo-navy:#0f3554;
  --ceo-navy-2:#123f63;
  --ceo-gold:#bd8a2f;
  --ceo-danger:#b91c1c;
  --ceo-blue:#1d4ed8;
}

html, body{min-height:100%;}
body:not(.admin-body){background:var(--ceo-bg)!important;color:var(--ceo-ink)!important;}
body:not(.admin-body) main,
body:not(.admin-body) .section,
body:not(.admin-body) section:not(.hero):not(.page-intro){background:transparent!important;color:var(--ceo-ink)!important;}

/* Public readable surfaces */
body:not(.admin-body) .package-card,
body:not(.admin-body) .hotel-card,
body:not(.admin-body) .seat-card,
body:not(.admin-body) .news-card,
body:not(.admin-body) .testi-card,
body:not(.admin-body) .contact-card,
body:not(.admin-body) .form-wrap,
body:not(.admin-body) .listing-search,
body:not(.admin-body) .seat-filter-bar,
body:not(.admin-body) .search-context,
body:not(.admin-body) .filter-bar,
body:not(.admin-body) .booking-account-form,
body:not(.admin-body) .booking-summary,
body:not(.admin-body) .booking-facts .fact,
body:not(.admin-body) .table-wrap,
body:not(.admin-body) .promo-card{
  background:var(--ceo-card)!important;
  color:var(--ceo-ink)!important;
  border:1px solid var(--ceo-line)!important;
  box-shadow:0 18px 45px rgba(17,24,39,.08)!important;
  text-shadow:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-body) .package-card *,
body:not(.admin-body) .hotel-card *,
body:not(.admin-body) .seat-card *,
body:not(.admin-body) .news-card *,
body:not(.admin-body) .testi-card *,
body:not(.admin-body) .contact-card *,
body:not(.admin-body) .form-wrap *,
body:not(.admin-body) .listing-search *,
body:not(.admin-body) .seat-filter-bar *,
body:not(.admin-body) .search-context *,
body:not(.admin-body) .filter-bar *,
body:not(.admin-body) .booking-account-form *,
body:not(.admin-body) .booking-summary *,
body:not(.admin-body) .table-wrap *,
body:not(.admin-body) .promo-card *{
  text-shadow:none!important;
}
body:not(.admin-body) .package-card h1, body:not(.admin-body) .package-card h2, body:not(.admin-body) .package-card h3, body:not(.admin-body) .package-card h4,
body:not(.admin-body) .hotel-card h1, body:not(.admin-body) .hotel-card h2, body:not(.admin-body) .hotel-card h3, body:not(.admin-body) .hotel-card h4,
body:not(.admin-body) .seat-card h1, body:not(.admin-body) .seat-card h2, body:not(.admin-body) .seat-card h3, body:not(.admin-body) .seat-card h4,
body:not(.admin-body) .news-card h1, body:not(.admin-body) .news-card h2, body:not(.admin-body) .news-card h3,
body:not(.admin-body) .form-wrap h1, body:not(.admin-body) .form-wrap h2, body:not(.admin-body) .form-wrap h3,
body:not(.admin-body) .listing-search h1, body:not(.admin-body) .listing-search h2, body:not(.admin-body) .listing-search h3,
body:not(.admin-body) .seat-filter-bar h1, body:not(.admin-body) .seat-filter-bar h2, body:not(.admin-body) .seat-filter-bar h3{
  color:var(--ceo-ink)!important;
}
body:not(.admin-body) .package-card p, body:not(.admin-body) .package-card .desc,
body:not(.admin-body) .hotel-card p, body:not(.admin-body) .hotel-card .desc,
body:not(.admin-body) .seat-card p, body:not(.admin-body) .seat-card .muted,
body:not(.admin-body) .news-card p,
body:not(.admin-body) .form-wrap p,
body:not(.admin-body) .listing-search label,
body:not(.admin-body) .seat-filter-bar label,
body:not(.admin-body) .search-context-label,
body:not(.admin-body) small{
  color:var(--ceo-muted)!important;
}
body:not(.admin-body) .price,
body:not(.admin-body) .fare-price,
body:not(.admin-body) .live-price-grid b,
body:not(.admin-body) .seat-card .fare,
body:not(.admin-body) .booking-preview-price{color:var(--ceo-navy)!important;}
body:not(.admin-body) .meta span,
body:not(.admin-body) .pkg-flight-row,
body:not(.admin-body) .live-price-grid span,
body:not(.admin-body) .hotel-availability,
body:not(.admin-body) .dist,
body:not(.admin-body) .search-context-tag{
  background:#f8fafc!important;
  color:#253244!important;
  border:1px solid #e2e8f0!important;
}

/* Forms must never be white-on-white or transparent-on-dark */
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
body:not(.admin-body) .listing-search input,
body:not(.admin-body) .listing-search select,
body:not(.admin-body) .seat-filter-bar input,
body:not(.admin-body) .seat-filter-bar select,
body.admin-body input,
body.admin-body select,
body.admin-body textarea{
  background:#ffffff!important;
  color:var(--ceo-ink)!important;
  border:1px solid var(--ceo-line)!important;
  -webkit-text-fill-color:var(--ceo-ink)!important;
  box-shadow:none!important;
}
body:not(.admin-body) input::placeholder,
body:not(.admin-body) textarea::placeholder,
body.admin-body input::placeholder,
body.admin-body textarea::placeholder{color:#7b8797!important;opacity:1!important;-webkit-text-fill-color:#7b8797!important;}
body:not(.admin-body) label, body.admin-body label{color:#334155!important;font-weight:800!important;}
select option{background:#fff!important;color:#111827!important;}

/* Button contrast */
.btn.btn-primary, .btn-primary{
  background:var(--ceo-navy)!important;
  color:#fff!important;
  border:1px solid var(--ceo-navy)!important;
}
.btn.btn-primary:hover, .btn-primary:hover{background:var(--ceo-navy-2)!important;border-color:var(--ceo-navy-2)!important;color:#fff!important;}
.btn.btn-ghost, .btn-ghost, .btn-outline{
  background:#fff!important;
  color:var(--ceo-navy)!important;
  border:1px solid var(--ceo-line)!important;
}
.btn.btn-ghost:hover, .btn-ghost:hover{background:#f8fafc!important;color:var(--ceo-navy)!important;}

/* Keep only hero/nav/footer as dark and readable */
body:not(.admin-body) .navbar,
body:not(.admin-body) .mobile-menu,
body:not(.admin-body) .page-intro,
body:not(.admin-body) .hero,
body:not(.admin-body) .footer,
body:not(.admin-body) .site-footer{
  background-color:#071527!important;
  color:#fff!important;
}
body:not(.admin-body) .navbar *,
body:not(.admin-body) .mobile-menu *,
body:not(.admin-body) .page-intro *,
body:not(.admin-body) .hero *,
body:not(.admin-body) .footer *,
body:not(.admin-body) .site-footer *{color:inherit;}
body:not(.admin-body) .page-intro p,
body:not(.admin-body) .hero p,
body:not(.admin-body) .footer p,
body:not(.admin-body) .site-footer p{color:rgba(255,255,255,.78)!important;}

/* Admin readable surfaces */
body.admin-body{background:#f3f6fb!important;color:var(--ceo-ink)!important;}
body.admin-body .admin-main,
body.admin-body .admin-main section,
body.admin-body .admin-main .card,
body.admin-body .admin-main .stat-card,
body.admin-body .admin-main .admin-panel-card,
body.admin-body .admin-main .admin-clean-card,
body.admin-body .admin-main .api-editor-card,
body.admin-body .admin-main .api-vendor-card,
body.admin-body .admin-main .api-type-tile,
body.admin-body .admin-main .table-wrap,
body.admin-body .admin-main .admin-table-wrap,
body.admin-body .admin-main form,
body.admin-body .admin-main fieldset{
  background:#fff!important;
  color:var(--ceo-ink)!important;
  border-color:var(--ceo-line)!important;
  text-shadow:none!important;
  box-shadow:0 12px 34px rgba(15,23,42,.06)!important;
}
body.admin-body .admin-main h1, body.admin-body .admin-main h2, body.admin-body .admin-main h3, body.admin-body .admin-main h4,
body.admin-body .admin-main strong, body.admin-body .admin-main b,
body.admin-body .admin-main .val, body.admin-body .admin-main .price{color:var(--ceo-ink)!important;}
body.admin-body .admin-main p, body.admin-body .admin-main small, body.admin-body .admin-main .muted, body.admin-body .admin-main .help{color:var(--ceo-muted)!important;}
body.admin-body table, body.admin-body .tbl, body.admin-body .admin-table{background:#fff!important;color:var(--ceo-ink)!important;}
body.admin-body th{background:#f8fafc!important;color:#334155!important;border-color:#e2e8f0!important;}
body.admin-body td{background:#fff!important;color:#243044!important;border-color:#eef2f7!important;}
body.admin-body .admin-side, body.admin-body .admin-top{background:#071527!important;color:#fff!important;}
body.admin-body .admin-side *, body.admin-body .admin-top *{color:inherit;}
body.admin-body .admin-nav a{color:rgba(255,255,255,.72)!important;}
body.admin-body .admin-nav a.active{background:rgba(255,255,255,.12)!important;color:#fff!important;}

/* Ticket typeahead */
.seat-filter-bar{position:relative;overflow:visible!important;z-index:5;}
.ticket-typeahead-field{position:relative;overflow:visible!important;}
.ticket-typeahead-list{
  display:none;
  position:absolute;
  left:0;right:0;top:calc(100% + 8px);
  background:#fff;
  border:1px solid var(--ceo-line);
  border-radius:16px;
  box-shadow:0 18px 46px rgba(15,23,42,.16);
  max-height:260px;
  overflow:auto;
  padding:8px;
  z-index:9999;
}
.ticket-typeahead-list.open{display:block;}
.ticket-typeahead-list button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:11px 12px;
  border-radius:12px;
  background:#fff!important;
  color:#111827!important;
  text-align:left;
}
.ticket-typeahead-list button:hover{background:#f1f5f9!important;}
.ticket-typeahead-list strong{min-width:42px;color:var(--ceo-navy)!important;font-weight:900;letter-spacing:.04em;}
.ticket-typeahead-list span{color:#475569!important;font-size:.9rem;}

/* API package image covers */
.package-card .media{background:#e8eef7!important;overflow:hidden!important;}
.package-card .media-img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.package-card .media-icon{color:#fff!important;}
.api-source{color:var(--ceo-muted)!important;display:block;margin-top:2px;}

@media(max-width:760px){
  .seat-filter-bar,.listing-search{grid-template-columns:1fr!important;overflow:visible!important;}
  .ticket-typeahead-list{max-height:220px;}
  body:not(.admin-body) .grid.grid-3{grid-template-columns:1fr!important;}
  body.admin-body .admin-main{padding:86px 14px 28px!important;}
}


/* =========================================================
   FINAL PUBLIC UI RESCUE — readability first
   Fixes: homepage search dark text on dark background,
   group seats unreadable card colors, old dark overrides.
   ========================================================= */
body:not(.admin-body){
  --public-bg:#f4f7fb;
  --public-card:#ffffff;
  --public-ink:#111827;
  --public-muted:#475569;
  --public-soft:#f8fafc;
  --public-line:#d7e0eb;
  --public-navy:#0b2f4f;
  --public-navy-2:#123f63;
  --public-gold:#b9852f;
  background:var(--public-bg)!important;
  color:var(--public-ink)!important;
}
body:not(.admin-body)::before{opacity:.12!important;}
body:not(.admin-body) section:not(.hero):not(.page-intro),
body:not(.admin-body) main{background:transparent!important;color:var(--public-ink)!important;}

/* Homepage search must be a light, high-conversion booking widget */
body:not(.admin-body) .hero-search{
  background:#ffffff!important;
  color:var(--public-ink)!important;
  border:1px solid var(--public-line)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.14)!important;
  border-radius:28px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.admin-body) .hero-search::before{display:none!important;}
body:not(.admin-body) .hero-search,
body:not(.admin-body) .hero-search *{text-shadow:none!important;}
body:not(.admin-body) .hero-search-tabs{
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:20px!important;
  padding:8px!important;
  margin-bottom:14px!important;
}
body:not(.admin-body) .hero-tab{
  background:transparent!important;
  color:#334155!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  font-weight:900!important;
}
body:not(.admin-body) .hero-tab.active,
body:not(.admin-body) .hero-tab:hover{
  background:var(--public-navy)!important;
  color:#ffffff!important;
  border-color:var(--public-navy)!important;
}
body:not(.admin-body) .hero-search-form .field{
  background:#ffffff!important;
  border:1px solid #d8e2ee!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  color:var(--public-ink)!important;
}
body:not(.admin-body) .hero-search-form label{
  color:#334155!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body:not(.admin-body) .hero-search-form input,
body:not(.admin-body) .hero-search-form select,
body:not(.admin-body) .hero-search input,
body:not(.admin-body) .hero-search select{
  background:#ffffff!important;
  color:var(--public-ink)!important;
  -webkit-text-fill-color:var(--public-ink)!important;
  border:0!important;
  min-height:34px!important;
  box-shadow:none!important;
}
body:not(.admin-body) .hero-search-form input::placeholder,
body:not(.admin-body) .hero-search input::placeholder{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  opacity:1!important;
}
body:not(.admin-body) .hero-search-form select option{background:#fff!important;color:#111827!important;}

/* Hide removed supplier-flow block even if cached/old PHP still outputs it */
body:not(.admin-body) .royal-flow-section{display:none!important;}

/* Result/filter panels should be light and readable */
body:not(.admin-body) .seat-filter-bar,
body:not(.admin-body) .listing-search,
body:not(.admin-body) .search-context,
body:not(.admin-body) .filter-bar{
  background:#ffffff!important;
  color:var(--public-ink)!important;
  border:1px solid var(--public-line)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.admin-body) .seat-filter-bar .field label,
body:not(.admin-body) .listing-search label,
body:not(.admin-body) .search-context label,
body:not(.admin-body) .filter-bar label{
  color:#334155!important;
}
body:not(.admin-body) .seat-filter-bar input,
body:not(.admin-body) .seat-filter-bar select,
body:not(.admin-body) .listing-search input,
body:not(.admin-body) .listing-search select,
body:not(.admin-body) .search-context input,
body:not(.admin-body) .search-context select{
  background:#ffffff!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  border:1px solid #d8e2ee!important;
}

/* Group seats card — replace dark glass with clean travel SaaS card */
body:not(.admin-body) .seat-list{gap:18px!important;}
body:not(.admin-body) .seat-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 280px!important;
  background:#ffffff!important;
  color:var(--public-ink)!important;
  border:1px solid var(--public-line)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 18px 48px rgba(15,23,42,.09)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.admin-body) .seat-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 22px 60px rgba(15,23,42,.12)!important;
  border-color:#cbd8e6!important;
}
body:not(.admin-body) .seat-card,
body:not(.admin-body) .seat-card *{text-shadow:none!important;}
body:not(.admin-body) .seat-main{background:#ffffff!important;color:var(--public-ink)!important;padding:24px!important;}
body:not(.admin-body) .seat-side{
  background:#f8fafc!important;
  color:var(--public-ink)!important;
  border-left:1px solid var(--public-line)!important;
  border-top:0!important;
  padding:24px!important;
}
body:not(.admin-body) .seat-airline{align-items:flex-start!important;}
body:not(.admin-body) .airline-mark{
  background:var(--public-navy)!important;
  color:#ffffff!important;
  border:1px solid var(--public-navy)!important;
  box-shadow:none!important;
  border-radius:14px!important;
  font-family:var(--font-body)!important;
  font-style:normal!important;
}
body:not(.admin-body) .airline-name{color:#111827!important;font-weight:1000!important;}
body:not(.admin-body) .airline-sub{color:#64748b!important;font-weight:800!important;}
body:not(.admin-body) .seat-leg{border-top:1px dashed #d8e2ee!important;}
body:not(.admin-body) .leg-label{
  color:var(--public-navy)!important;
  font-weight:1000!important;
}
body:not(.admin-body) .leg-body{
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  padding:13px 14px!important;
  color:var(--public-ink)!important;
}
body:not(.admin-body) .leg-flight{color:#475569!important;font-weight:900!important;}
body:not(.admin-body) .leg-date{color:#8a5b13!important;font-weight:900!important;font-style:normal!important;}
body:not(.admin-body) .leg-route .ap,
body:not(.admin-body) .ap{color:#0f172a!important;font-weight:1000!important;}
body:not(.admin-body) .leg-route .arrow{color:var(--public-gold)!important;font-weight:1000!important;}
body:not(.admin-body) .leg-times{color:#475569!important;font-weight:800!important;}
body:not(.admin-body) .leg-layover{color:#64748b!important;background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:999px!important;display:inline-block!important;padding:5px 10px!important;margin:8px 0 0!important;}
body:not(.admin-body) .seat-notes{background:#f8fafc!important;color:#475569!important;border-left-color:var(--public-gold)!important;}
body:not(.admin-body) .seat-fare-label{color:#475569!important;font-weight:1000!important;}
body:not(.admin-body) .seat-fare{color:var(--public-navy)!important;font-style:normal!important;text-shadow:none!important;font-weight:1000!important;}
body:not(.admin-body) .seat-fare-unit{color:#64748b!important;font-weight:900!important;}
body:not(.admin-body) .seat-low{background:#fff1f2!important;color:#be123c!important;border:1px solid #fecdd3!important;}
body:not(.admin-body) .api-source{color:#475569!important;background:#eef6ff!important;border:1px solid #bfdbfe!important;border-radius:999px!important;padding:5px 9px!important;display:inline-block!important;}

/* Type-ahead dropdown must sit above cards and always be readable */
body:not(.admin-body) .ticket-typeahead-list{
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid var(--public-line)!important;
  box-shadow:0 20px 50px rgba(15,23,42,.18)!important;
}
body:not(.admin-body) .ticket-typeahead-list button{background:#ffffff!important;color:#111827!important;}
body:not(.admin-body) .ticket-typeahead-list button:hover{background:#f1f5f9!important;}
body:not(.admin-body) .ticket-typeahead-list strong{color:var(--public-navy)!important;}
body:not(.admin-body) .ticket-typeahead-list span{color:#475569!important;}

@media(max-width:760px){
  body:not(.admin-body) .hero-search{border-radius:22px!important;padding:12px!important;}
  body:not(.admin-body) .hero-search-tabs{display:grid!important;grid-template-columns:1fr!important;}
  body:not(.admin-body) .seat-card{grid-template-columns:1fr!important;border-radius:20px!important;}
  body:not(.admin-body) .seat-side{border-left:0!important;border-top:1px solid var(--public-line)!important;}
  body:not(.admin-body) .seat-main,body:not(.admin-body) .seat-side{padding:18px!important;}
  body:not(.admin-body) .leg-body{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
}

/* =========================================================
   FINAL NAVBAR RESCUE — public + admin safe contrast
   Purpose: keep navbar readable and stable without touching cards/search/API.
   ========================================================= */
:root{--nav-h:74px;}
body:not(.admin-body) .navbar{
  height:var(--nav-h)!important;
  background:rgba(255,255,255,.96)!important;
  color:#0f172a!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
}
body:not(.admin-body) .navbar::after{display:none!important;}
body:not(.admin-body) .navbar.nav-scrolled{
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 14px 38px rgba(15,23,42,.12)!important;
}
body:not(.admin-body) .nav-inner{
  max-width:1240px!important;
  padding:0 22px!important;
  gap:18px!important;
}
body:not(.admin-body) .brand{
  color:#0f172a!important;
  min-width:max-content!important;
  text-decoration:none!important;
  font-size:1.04rem!important;
  line-height:1!important;
}
body:not(.admin-body) .brand em{color:#0f3d5e!important;font-weight:1000!important;}
body:not(.admin-body) .brand-mark{
  width:40px!important;height:40px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0f3d5e,#14567f)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(15,61,94,.24)!important;
}
body:not(.admin-body) .nav-links{
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  padding:4px 2px!important;
}
body:not(.admin-body) .nav-links::-webkit-scrollbar{display:none!important;}
body:not(.admin-body) .nav-links a{
  color:#334155!important;
  background:transparent!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  text-shadow:none!important;
  padding:10px 12px!important;
  border-radius:999px!important;
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1!important;
}
body:not(.admin-body) .nav-links a:hover{
  color:#0f172a!important;
  background:#f1f5f9!important;
  border-color:#e2e8f0!important;
}
body:not(.admin-body) .nav-links a.active{
  color:#fff!important;
  background:#0f3d5e!important;
  border-color:#0f3d5e!important;
  box-shadow:0 10px 22px rgba(15,61,94,.18)!important;
}
body:not(.admin-body) .nav-cta{gap:9px!important;min-width:max-content!important;}
body:not(.admin-body) .nav-cta .btn{
  min-height:40px!important;
  padding:0 16px!important;
  font-size:.82rem!important;
  border-radius:999px!important;
}
body:not(.admin-body) .nav-cta .btn-ghost{
  background:#fff!important;
  border:1px solid #cbd5e1!important;
  color:#0f172a!important;
}
body:not(.admin-body) .nav-cta .btn-primary{
  background:#0f3d5e!important;
  border:1px solid #0f3d5e!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(15,61,94,.18)!important;
}
body:not(.admin-body) .menu-toggle{
  background:#0f3d5e!important;
  color:#fff!important;
  border:1px solid #0f3d5e!important;
  width:42px!important;height:42px!important;
  border-radius:13px!important;
  flex:0 0 auto!important;
}
body:not(.admin-body) .mobile-menu{
  top:var(--nav-h)!important;
  background:#fff!important;
  color:#0f172a!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.16)!important;
  padding:12px 14px 16px!important;
  max-height:calc(100vh - var(--nav-h))!important;
  overflow:auto!important;
}
body:not(.admin-body) .mobile-menu ul{gap:4px!important;margin:0!important;padding:0!important;list-style:none!important;}
body:not(.admin-body) .mobile-menu a{
  color:#1e293b!important;
  background:#fff!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  padding:14px 14px!important;
  font-size:.98rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}
body:not(.admin-body) .mobile-menu a:hover,
body:not(.admin-body) .mobile-menu a.active{
  color:#fff!important;
  background:#0f3d5e!important;
  border-color:#0f3d5e!important;
}
body:not(.admin-body) .mobile-menu .divider{background:#e2e8f0!important;margin:8px 0!important;}
body.nav-menu-open{overflow:hidden;}
@media (max-width:1120px){
  body:not(.admin-body) .nav-links{display:none!important;}
  body:not(.admin-body) .menu-toggle{display:grid!important;}
  body:not(.admin-body) .nav-cta .btn{display:none!important;}
}
@media (min-width:1121px){
  body:not(.admin-body) .nav-links{display:flex!important;}
  body:not(.admin-body) .menu-toggle{display:none!important;}
  body:not(.admin-body) .mobile-menu{display:none!important;}
}
@media (max-width:520px){
  :root{--nav-h:68px;}
  body:not(.admin-body) .nav-inner{padding:0 14px!important;}
  body:not(.admin-body) .brand{font-size:.98rem!important;gap:10px!important;}
  body:not(.admin-body) .brand-mark{width:38px!important;height:38px!important;}
}

/* Admin topbar contrast rescue without changing dashboard layout */
.admin-body .admin-top{
  background:#ffffff!important;
  border-bottom:1px solid #e2e8f0!important;
  box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
  color:#0f172a!important;
}
.admin-body .admin-top a,.admin-body .admin-top strong,.admin-body .admin-brand{color:#0f172a!important;}
.admin-body .admin-pill-link{background:#f8fafc!important;border:1px solid #cbd5e1!important;color:#0f172a!important;}
.admin-body .admin-pill-danger{background:#fff1f2!important;border-color:#fecdd3!important;color:#be123c!important;}


/* === OWN LOGO UPLOAD / BRANDING FINAL PATCH === */
.brand-logo{
  display:block!important;
  width:auto!important;
  height:44px!important;
  max-width:180px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
.brand-name{display:inline-flex!important;align-items:baseline!important;gap:4px!important;white-space:nowrap!important;}
.brand:has(.brand-logo) .brand-name{font-size:.98rem!important;}
.admin-brand-logo{
  display:block!important;
  width:auto!important;
  height:42px!important;
  max-width:170px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
.logo-upload-box{
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  padding:18px!important;
  background:#fff!important;
}
.logo-upload-row{display:flex!important;gap:18px!important;align-items:center!important;flex-wrap:wrap!important;}
.logo-preview{
  width:210px!important;min-height:94px!important;
  display:grid!important;place-items:center!important;
  border:1px dashed #cbd5e1!important;border-radius:16px!important;
  background:#f8fafc!important;color:#64748b!important;
  padding:14px!important;text-align:center!important;font-weight:800!important;
}
.logo-preview img{max-width:100%!important;max-height:74px!important;object-fit:contain!important;}
.logo-upload-controls{flex:1 1 280px!important;}
.field-hint{margin:8px 0 0!important;color:#64748b!important;font-size:.88rem!important;line-height:1.5!important;}
.inline-check{display:flex!important;align-items:center!important;gap:8px!important;margin-top:12px!important;color:#334155!important;font-weight:800!important;}
.inline-check input{width:auto!important;}
@media(max-width:720px){
  .brand-logo{height:38px!important;max-width:138px!important;}
  .brand:has(.brand-logo) .brand-name{display:none!important;}
  .admin-brand-logo{height:38px!important;max-width:140px!important;}
  .admin-brand:has(.admin-brand-logo) .admin-brand-copy strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
  .logo-preview{width:100%!important;}
}

/* =========================================================
   FINAL PACKAGE CARD REDESIGN — premium Umrah dashboard card
   Scoped to packages page markup only; does not touch admin.
   ========================================================= */
body:not(.admin-body) .package-dashboard-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:28px!important;
  margin-top:24px!important;
}
body:not(.admin-body) .nearest-sort-note{
  grid-column:1/-1;
  color:#475569!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  padding:9px 12px!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
body:not(.admin-body) .umrah-package-card,
body:not(.admin-body) .umrah-package-card *{
  color:#0f3f35!important;
  box-sizing:border-box!important;
}
body:not(.admin-body) .umrah-package-card{
  width:100%!important;
  background:linear-gradient(135deg,#fffdf7 0%,#f9f4e8 54%,#f5efe2 100%)!important;
  border:4px solid #075344!important;
  border-radius:20px!important;
  padding:18px!important;
  box-shadow:0 24px 70px rgba(5,83,68,.18)!important;
  overflow:hidden!important;
  position:relative!important;
}
body:not(.admin-body) .umrah-package-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(201,155,46,.25);
  border-radius:14px;
  pointer-events:none;
}
body:not(.admin-body) .upc-topline{
  position:relative;
  z-index:1;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  min-height:52px!important;
  padding:10px 16px!important;
  margin:0 0 16px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(201,155,46,.28)!important;
  border-radius:16px!important;
  font-size:.93rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
body:not(.admin-body) .upc-premium{
  background:linear-gradient(135deg,#e4b941,#b8860b)!important;
  color:#fff!important;
  padding:7px 14px!important;
  border-radius:999px!important;
  box-shadow:0 10px 24px rgba(184,134,11,.25)!important;
  text-transform:uppercase!important;
  font-size:.78rem!important;
}
body:not(.admin-body) .upc-status{
  margin-left:auto!important;
  border:1px solid rgba(201,155,46,.45)!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  color:#064e3b!important;
  font-style:normal!important;
  font-size:.78rem!important;
  text-transform:uppercase!important;
}
body:not(.admin-body) .upc-info-grid{
  position:relative;z-index:1;
  display:grid!important;
  grid-template-columns:1.1fr 1.1fr 1fr .95fr .85fr!important;
  gap:10px!important;
  margin-bottom:16px!important;
}
body:not(.admin-body) .upc-info-box,
body:not(.admin-body) .upc-code-box{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(201,155,46,.25)!important;
  border-radius:14px!important;
  padding:14px!important;
  min-height:92px!important;
  box-shadow:0 12px 32px rgba(15,63,53,.05)!important;
}
body:not(.admin-body) .upc-info-box b{display:block!important;font-size:.88rem!important;color:#064e3b!important;margin-bottom:6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body:not(.admin-body) .upc-info-box strong{display:block!important;font-size:1rem!important;color:#0b3f35!important;line-height:1.2!important;}
body:not(.admin-body) .upc-info-box small,
body:not(.admin-body) .upc-code-box small{display:block!important;margin-top:9px!important;font-size:.68rem!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:#6b7280!important;font-weight:900!important;}
body:not(.admin-body) .upc-code-box{background:linear-gradient(135deg,#075344,#0d6b55)!important;}
body:not(.admin-body) .upc-code-box strong,
body:not(.admin-body) .upc-code-box small{color:#fff!important;}
body:not(.admin-body) .upc-code-box hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:9px 0!important;}
body:not(.admin-body) .upc-main-grid{
  position:relative;z-index:1;
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr) minmax(0,1fr) 260px!important;
  gap:12px!important;
  align-items:stretch!important;
}
body:not(.admin-body) .upc-airline-panel{
  background:linear-gradient(180deg,#064e3b,#0e5b49)!important;
  border:1px solid rgba(201,155,46,.45)!important;
  border-radius:18px!important;
  padding:18px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-height:420px!important;
}
body:not(.admin-body) .upc-airline-panel *{color:#fff!important;}
body:not(.admin-body) .upc-airline-logo{
  width:92px!important;height:92px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:#fff!important;color:#c99b2e!important;font-size:2.3rem!important;
  margin:0 auto 14px!important;
  box-shadow:0 16px 35px rgba(0,0,0,.16)!important;
}
body:not(.admin-body) .upc-airline-panel h4{font-size:1rem!important;line-height:1.25!important;margin-bottom:14px!important;color:#fff!important;}
body:not(.admin-body) .upc-route-chip{
  width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  border:1px solid rgba(228,185,65,.6)!important;border-radius:999px!important;padding:8px 10px!important;margin-bottom:14px!important;
}
body:not(.admin-body) .upc-route-chip b{color:#e4b941!important;}
body:not(.admin-body) .upc-available{width:100%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:999px;padding:9px;margin-bottom:18px;font-weight:900!important;}
body:not(.admin-body) .upc-seats{margin-top:auto;width:100%;border:1px solid rgba(228,185,65,.65);border-radius:16px;padding:14px;background:rgba(228,185,65,.08);}
body:not(.admin-body) .upc-seats strong{display:block!important;color:#e4b941!important;font-size:2.4rem!important;line-height:1!important;}
body:not(.admin-body) .upc-seats span{display:block!important;text-transform:uppercase!important;font-weight:900!important;font-size:.78rem!important;}
body:not(.admin-body) .upc-hotel-card,
body:not(.admin-body) .upc-price-panel{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(201,155,46,.25)!important;
  border-radius:18px!important;
  padding:16px!important;
  box-shadow:0 18px 45px rgba(15,63,53,.06)!important;
  min-width:0!important;
}
body:not(.admin-body) .upc-hotel-card small{
  display:block!important;text-align:center!important;text-transform:uppercase!important;letter-spacing:.13em!important;color:#a87914!important;font-weight:1000!important;margin-bottom:6px!important;
}
body:not(.admin-body) .upc-hotel-card h3{
  text-align:center!important;color:#064e3b!important;font-size:1.16rem!important;line-height:1.25!important;margin:0 0 14px!important;font-weight:1000!important;text-transform:uppercase!important;
}
body:not(.admin-body) .upc-hotel-card p{color:#4b5563!important;text-align:center!important;margin:5px 0!important;font-size:.88rem!important;font-weight:700!important;}
body:not(.admin-body) .upc-hotel-card img,
body:not(.admin-body) .upc-hotel-placeholder{
  width:100%!important;height:210px!important;object-fit:cover!important;border-radius:16px!important;margin:12px 0 10px!important;display:block!important;
  box-shadow:0 16px 34px rgba(15,63,53,.14)!important;
  background:linear-gradient(135deg,#e8dcc2,#fffaf0)!important;
}
body:not(.admin-body) .upc-hotel-placeholder{display:grid!important;place-items:center!important;color:#8a6a25!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
body:not(.admin-body) .upc-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;font-weight:900!important;}
body:not(.admin-body) .upc-links span{color:#0b63ce!important;}
body:not(.admin-body) .upc-price-panel{padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
body:not(.admin-body) .upc-price-panel h4{background:#075344!important;color:#fff!important;text-align:center!important;padding:14px 10px!important;font-size:.92rem!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin:0!important;}
body:not(.admin-body) .upc-price-row{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important;border-bottom:1px solid #eadfca!important;padding:12px 14px!important;background:#fff!important;}
body:not(.admin-body) .upc-price-row.best{grid-template-columns:auto 1fr auto!important;background:#fff0cc!important;}
body:not(.admin-body) .upc-price-row span{font-size:.65rem!important;text-transform:uppercase!important;color:#9a6a08!important;font-weight:1000!important;}
body:not(.admin-body) .upc-price-row b{color:#111827!important;text-transform:uppercase!important;font-size:.82rem!important;letter-spacing:.06em!important;}
body:not(.admin-body) .upc-price-row strong{color:#064e3b!important;font-size:1.08rem!important;font-weight:1000!important;}
body:not(.admin-body) .upc-gifts{margin:12px!important;border:1px solid rgba(201,155,46,.3)!important;border-radius:16px!important;background:#fffaf0!important;padding:12px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
body:not(.admin-body) .upc-gifts b{grid-column:1/-1!important;color:#9a6a08!important;text-transform:uppercase!important;font-size:.75rem!important;letter-spacing:.08em!important;}
body:not(.admin-body) .upc-gifts span{background:#fff!important;border:1px solid #eadfca!important;border-radius:10px!important;padding:8px!important;text-align:center!important;color:#164e43!important;font-size:.72rem!important;font-weight:900!important;}
body:not(.admin-body) .upc-book-btn{margin:0 12px 12px!important;width:calc(100% - 24px)!important;justify-content:center!important;color:#fff!important;}
body:not(.admin-body) .upc-services{
  position:relative;z-index:1;
  display:grid!important;grid-template-columns:auto repeat(5,1fr) auto!important;gap:8px!important;align-items:center!important;
  margin-top:12px!important;padding:10px!important;border:1px solid rgba(201,155,46,.2)!important;border-radius:16px!important;background:rgba(255,255,255,.62)!important;
}
body:not(.admin-body) .upc-services strong{color:#9a6a08!important;text-transform:uppercase!important;font-size:.75rem!important;letter-spacing:.08em!important;}
body:not(.admin-body) .upc-services span{background:#fff!important;border:1px solid #e8dec9!important;border-radius:12px!important;padding:12px 10px!important;text-align:center!important;font-weight:900!important;color:#111827!important;font-size:.8rem!important;}
body:not(.admin-body) .upc-services em{color:#64748b!important;font-size:.78rem!important;font-style:normal!important;font-weight:800!important;}
@media(max-width:1250px){
  body:not(.admin-body) .upc-main-grid{grid-template-columns:160px 1fr 1fr!important;}
  body:not(.admin-body) .upc-price-panel{grid-column:2/4!important;}
  body:not(.admin-body) .upc-airline-panel{min-height:auto!important;}
  body:not(.admin-body) .upc-info-grid{grid-template-columns:1fr 1fr 1fr!important;}
}
@media(max-width:900px){
  body:not(.admin-body) .umrah-package-card{padding:12px!important;border-width:3px!important;border-radius:18px!important;}
  body:not(.admin-body) .upc-info-grid,
  body:not(.admin-body) .upc-main-grid,
  body:not(.admin-body) .upc-services{grid-template-columns:1fr!important;}
  body:not(.admin-body) .upc-price-panel{grid-column:auto!important;}
  body:not(.admin-body) .upc-airline-panel{min-height:auto!important;}
  body:not(.admin-body) .upc-hotel-card img,
  body:not(.admin-body) .upc-hotel-placeholder{height:210px!important;}
  body:not(.admin-body) .upc-status{margin-left:0!important;}
}
@media(max-width:560px){
  body:not(.admin-body) .upc-topline{font-size:.8rem!important;padding:10px!important;gap:7px!important;}
  body:not(.admin-body) .upc-premium{font-size:.68rem!important;padding:6px 10px!important;}
  body:not(.admin-body) .upc-info-box,
  body:not(.admin-body) .upc-code-box{min-height:auto!important;padding:12px!important;}
  body:not(.admin-body) .upc-hotel-card h3{font-size:1rem!important;}
  body:not(.admin-body) .upc-hotel-card img,
  body:not(.admin-body) .upc-hotel-placeholder{height:175px!important;}
  body:not(.admin-body) .upc-gifts{grid-template-columns:1fr!important;}
  body:not(.admin-body) .upc-services span{text-align:left!important;}
}

/* =========================================================
   MOBILE + BOOKING CONTRAST FINAL QA PATCH
   Goal: make full site readable on mobile and fix Book Options page.
   This block is intentionally last so it wins over older layered styles.
   ========================================================= */
body:not(.admin-body){
  background:#f4f7fb!important;
  color:#102033!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body:not(.admin-body) *{text-shadow:none!important;}
body:not(.admin-body) p,
body:not(.admin-body) li,
body:not(.admin-body) small,
body:not(.admin-body) label,
body:not(.admin-body) .muted,
body:not(.admin-body) .text-muted{color:#475569!important;}
body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3,
body:not(.admin-body) h4,
body:not(.admin-body) h5,
body:not(.admin-body) h6,
body:not(.admin-body) strong{color:#0f172a!important;}
body:not(.admin-body) .page-intro h1,
body:not(.admin-body) .page-intro p,
body:not(.admin-body) .hero h1,
body:not(.admin-body) .hero p,
body:not(.admin-body) .footer h1,
body:not(.admin-body) .footer h2,
body:not(.admin-body) .footer h3,
body:not(.admin-body) .footer p,
body:not(.admin-body) .site-footer h1,
body:not(.admin-body) .site-footer h2,
body:not(.admin-body) .site-footer h3,
body:not(.admin-body) .site-footer p{color:#fff!important;}
body:not(.admin-body) .page-intro .eyebrow,
body:not(.admin-body) .hero .eyebrow{color:#f6c65b!important;}
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
body:not(.admin-body) .input,
body:not(.admin-body) .textarea{
  background:#fff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  caret-color:#0f172a!important;
}
body:not(.admin-body) input::placeholder,
body:not(.admin-body) textarea::placeholder{color:#64748b!important;-webkit-text-fill-color:#64748b!important;opacity:1!important;}
body:not(.admin-body) select option{background:#fff!important;color:#0f172a!important;}
body:not(.admin-body) .btn.btn-primary,
body:not(.admin-body) a.btn.btn-primary,
body:not(.admin-body) button.btn.btn-primary{background:#075344!important;color:#fff!important;border-color:#075344!important;}
body:not(.admin-body) .btn.btn-primary *,
body:not(.admin-body) a.btn.btn-primary *,
body:not(.admin-body) button.btn.btn-primary *{color:#fff!important;}
body:not(.admin-body) .btn.btn-ghost,
body:not(.admin-body) a.btn.btn-ghost,
body:not(.admin-body) button.btn.btn-ghost{background:#fff!important;color:#0f172a!important;border:1px solid #cbd5e1!important;}
body:not(.admin-body) .alert,
body:not(.admin-body) .form-wrap,
body:not(.admin-body) .card,
body:not(.admin-body) .panel,
body:not(.admin-body) .booking-summary,
body:not(.admin-body) .booking-facts,
body:not(.admin-body) .dashboard-card{
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #dbe5ef!important;
  box-shadow:0 16px 44px rgba(15,23,42,.08)!important;
}
body:not(.admin-body) table,
body:not(.admin-body) th,
body:not(.admin-body) td{color:#0f172a!important;background:#fff!important;border-color:#e2e8f0!important;}
body:not(.admin-body) th{background:#f8fafc!important;color:#334155!important;}

/* Book Options page: force professional light booking flow, no dark-on-dark */
body:not(.admin-body) .booking-choice-page{
  background:#f4f7fb!important;
  color:#0f172a!important;
  padding:46px 0 72px!important;
}
body:not(.admin-body) .booking-choice-hero{
  background:linear-gradient(135deg,#ffffff,#f8fafc)!important;
  color:#0f172a!important;
  border:1px solid #dbe5ef!important;
  border-radius:28px!important;
  padding:30px!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
  margin-bottom:22px!important;
}
body:not(.admin-body) .booking-choice-hero h1{color:#0f172a!important;margin-bottom:8px!important;}
body:not(.admin-body) .booking-choice-hero p{color:#475569!important;max-width:720px!important;}
body:not(.admin-body) .booking-choice-hero .eyebrow{color:#a66f12!important;font-weight:1000!important;}
body:not(.admin-body) .booking-choice-grid{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
}
body:not(.admin-body) .booking-preview-card,
body:not(.admin-body) .booking-action-panel,
body:not(.admin-body) .booking-channel-card,
body:not(.admin-body) .booking-account-form{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #dbe5ef!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
  border-radius:24px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.admin-body) .booking-preview-card{padding:22px!important;position:sticky;top:96px;}
body:not(.admin-body) .booking-action-panel{padding:22px!important;}
body:not(.admin-body) .booking-preview-top span{color:#a66f12!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.1em!important;}
body:not(.admin-body) .booking-preview-top strong,
body:not(.admin-body) .booking-channel-card strong,
body:not(.admin-body) .booking-account-form h3{color:#0f172a!important;}
body:not(.admin-body) .booking-preview-price{color:#075344!important;font-weight:1000!important;}
body:not(.admin-body) .booking-preview-price small{color:#64748b!important;}
body:not(.admin-body) .booking-preview-facts{display:grid!important;gap:10px!important;margin-top:18px!important;}
body:not(.admin-body) .booking-preview-facts span{
  display:block!important;
  background:#f8fafc!important;
  color:#475569!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  padding:11px 12px!important;
}
body:not(.admin-body) .booking-preview-facts b{background:transparent!important;border:0!important;color:#0f172a!important;padding:0!important;}
body:not(.admin-body) .booking-channel-cards{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;}
body:not(.admin-body) .booking-channel-card{
  display:block!important;
  padding:18px!important;
  text-decoration:none!important;
  transition:.2s ease!important;
}
body:not(.admin-body) .booking-channel-card:hover,
body:not(.admin-body) .booking-channel-card.active{
  border-color:#075344!important;
  box-shadow:0 20px 50px rgba(7,83,68,.14)!important;
  transform:translateY(-1px)!important;
}
body:not(.admin-body) .booking-channel-card small{color:#475569!important;line-height:1.5!important;}
body:not(.admin-body) .booking-channel-card .channel-icon{
  display:grid!important;place-items:center!important;
  width:42px!important;height:42px!important;border-radius:14px!important;
  background:#ecfdf5!important;color:#075344!important;margin-bottom:12px!important;font-weight:1000!important;
}
body:not(.admin-body) .booking-channel-card.muted{background:#f8fafc!important;}
body:not(.admin-body) .booking-auth-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:14px!important;}
body:not(.admin-body) .booking-account-form{margin-top:18px!important;padding:22px!important;}
body:not(.admin-body) .booking-account-form label{color:#334155!important;font-weight:900!important;}
body:not(.admin-body) .booking-account-form .form-grid{gap:14px!important;}
body:not(.admin-body) .booking-account-form .field-group{min-width:0!important;}
body:not(.admin-body) .booking-account-form button[type="submit"]{width:100%!important;justify-content:center!important;}

/* Packages list mobile: make reference-style package card usable on phone */
body:not(.admin-body) .package-dashboard-list{display:grid!important;gap:22px!important;}
body:not(.admin-body) .nearest-sort-note{color:#475569!important;font-weight:800!important;}
@media(max-width:980px){
  body:not(.admin-body) .booking-choice-grid{grid-template-columns:1fr!important;}
  body:not(.admin-body) .booking-preview-card{position:relative!important;top:auto!important;}
  body:not(.admin-body) .upc-main-grid{grid-template-columns:1fr!important;}
  body:not(.admin-body) .upc-price-panel{grid-column:auto!important;order:-1!important;}
  body:not(.admin-body) .upc-airline-panel{order:0!important;min-height:auto!important;}
  body:not(.admin-body) .upc-hotel-card{order:1!important;}
  body:not(.admin-body) .upc-services{grid-template-columns:1fr 1fr!important;}
  body:not(.admin-body) .upc-services strong,
  body:not(.admin-body) .upc-services em{grid-column:1/-1!important;}
}
@media(max-width:720px){
  body:not(.admin-body) .container{width:min(100% - 24px, var(--container, 1180px))!important;}
  body:not(.admin-body) section{padding-left:0!important;padding-right:0!important;}
  body:not(.admin-body) .page-intro{padding:34px 14px!important;text-align:left!important;}
  body:not(.admin-body) .page-intro h1{font-size:clamp(1.8rem,8vw,2.5rem)!important;line-height:1.05!important;}
  body:not(.admin-body) .listing-search,
  body:not(.admin-body) .seat-filter-bar,
  body:not(.admin-body) .filter-bar,
  body:not(.admin-body) .search-context{border-radius:20px!important;padding:14px!important;}
  body:not(.admin-body) .listing-search{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  body:not(.admin-body) .listing-search .btn{width:100%!important;justify-content:center!important;}
  body:not(.admin-body) .booking-choice-page{padding:22px 0 44px!important;}
  body:not(.admin-body) .booking-choice-hero{padding:20px!important;border-radius:22px!important;}
  body:not(.admin-body) .booking-choice-hero h1{font-size:1.75rem!important;}
  body:not(.admin-body) .booking-action-panel,
  body:not(.admin-body) .booking-preview-card,
  body:not(.admin-body) .booking-account-form{padding:16px!important;border-radius:20px!important;}
  body:not(.admin-body) .booking-channel-cards{grid-template-columns:1fr!important;}
  body:not(.admin-body) .booking-auth-actions .btn{flex:1 1 130px!important;justify-content:center!important;}
  body:not(.admin-body) .booking-account-form .form-grid.cols-2,
  body:not(.admin-body) .form-grid.cols-2{grid-template-columns:1fr!important;}
  body:not(.admin-body) .umrah-package-card{padding:10px!important;border-radius:18px!important;border-width:2px!important;margin-inline:auto!important;}
  body:not(.admin-body) .upc-topline{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:12px!important;
    border-radius:14px!important;
    font-size:.82rem!important;
  }
  body:not(.admin-body) .upc-topline > span:not(.upc-premium):not(.upc-status),
  body:not(.admin-body) .upc-topline > strong{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  body:not(.admin-body) .upc-topline > span:nth-of-type(1),
  body:not(.admin-body) .upc-topline > span:nth-of-type(3),
  body:not(.admin-body) .upc-topline > span:nth-of-type(5),
  body:not(.admin-body) .upc-topline > span:nth-of-type(7){display:none!important;}
  body:not(.admin-body) .upc-premium{width:max-content!important;max-width:100%!important;}
  body:not(.admin-body) .upc-status{margin:6px 0 0!important;width:max-content!important;}
  body:not(.admin-body) .upc-info-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body:not(.admin-body) .upc-code-box{grid-column:1/-1!important;}
  body:not(.admin-body) .upc-info-box,
  body:not(.admin-body) .upc-code-box{padding:11px!important;border-radius:13px!important;min-height:auto!important;}
  body:not(.admin-body) .upc-info-box b{font-size:.78rem!important;white-space:normal!important;}
  body:not(.admin-body) .upc-info-box strong{font-size:.88rem!important;}
  body:not(.admin-body) .upc-main-grid{gap:10px!important;}
  body:not(.admin-body) .upc-airline-panel{
    display:grid!important;
    grid-template-columns:56px 1fr!important;
    align-items:center!important;
    text-align:left!important;
    padding:12px!important;
    gap:10px!important;
    border-radius:16px!important;
  }
  body:not(.admin-body) .upc-airline-logo{width:56px!important;height:56px!important;margin:0!important;font-size:1.5rem!important;grid-row:1/4!important;}
  body:not(.admin-body) .upc-airline-panel h4{margin:0!important;font-size:.95rem!important;}
  body:not(.admin-body) .upc-route-chip{margin:0!important;padding:7px 9px!important;}
  body:not(.admin-body) .upc-available{display:none!important;}
  body:not(.admin-body) .upc-seats{margin:0!important;padding:9px 10px!important;display:flex!important;align-items:center!important;gap:8px!important;}
  body:not(.admin-body) .upc-seats strong{font-size:1.25rem!important;}
  body:not(.admin-body) .upc-seats span{font-size:.7rem!important;}
  body:not(.admin-body) .upc-hotel-card,
  body:not(.admin-body) .upc-price-panel{border-radius:16px!important;}
  body:not(.admin-body) .upc-hotel-card{padding:12px!important;}
  body:not(.admin-body) .upc-hotel-card h3{font-size:.98rem!important;}
  body:not(.admin-body) .upc-hotel-card p{font-size:.8rem!important;}
  body:not(.admin-body) .upc-hotel-card img,
  body:not(.admin-body) .upc-hotel-placeholder{height:168px!important;border-radius:13px!important;}
  body:not(.admin-body) .upc-links{font-size:.82rem!important;gap:8px!important;}
  body:not(.admin-body) .upc-price-panel h4{font-size:.78rem!important;padding:12px 10px!important;}
  body:not(.admin-body) .upc-price-row{padding:10px 12px!important;}
  body:not(.admin-body) .upc-price-row.best{grid-template-columns:1fr!important;gap:4px!important;}
  body:not(.admin-body) .upc-price-row strong{font-size:1rem!important;}
  body:not(.admin-body) .upc-gifts{grid-template-columns:1fr 1fr!important;margin:10px!important;}
  body:not(.admin-body) .upc-book-btn{min-height:48px!important;}
  body:not(.admin-body) .upc-services{grid-template-columns:1fr!important;padding:10px!important;}
  body:not(.admin-body) .upc-services span{text-align:left!important;padding:10px 12px!important;}
}
@media(max-width:420px){
  body:not(.admin-body) .container{width:min(100% - 16px, var(--container, 1180px))!important;}
  body:not(.admin-body) .upc-info-grid{grid-template-columns:1fr!important;}
  body:not(.admin-body) .upc-airline-panel{grid-template-columns:48px 1fr!important;}
  body:not(.admin-body) .upc-airline-logo{width:48px!important;height:48px!important;}
  body:not(.admin-body) .upc-gifts{grid-template-columns:1fr!important;}
  body:not(.admin-body) .booking-choice-hero h1{font-size:1.5rem!important;}
}

/* === PACKAGE FLOW THEME + MOBILE/CONTRAST CLEANUP PATCH === */
body:not(.admin-body) .filter-bar[data-filter-bar=".pkg-item"]{display:none!important;}
body:not(.admin-body) .package-dashboard-list{display:grid!important;gap:28px!important;}
body:not(.admin-body) .umrah-package-card{
  background:linear-gradient(135deg,#fffdf8 0%,#fffaf0 44%,#f8fbf7 100%)!important;
  border-color:#075344!important;
  box-shadow:0 18px 40px rgba(7,83,68,.13),0 2px 0 rgba(228,185,65,.45) inset!important;
}
body:not(.admin-body) .upc-topline{
  background:linear-gradient(90deg,#fff8e7,#fffdf8)!important;
  border-color:#ead7a9!important;
  color:#073f34!important;
}
body:not(.admin-body) .upc-premium{background:linear-gradient(135deg,#d4a93d,#f1cf6d)!important;color:#073f34!important;}
body:not(.admin-body) .upc-hotel-card img{object-fit:cover!important;background:#f8fafc!important;}
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span{
  color:#075ec8!important;
  font-weight:1000!important;
  text-decoration:none!important;
}
body:not(.admin-body) .upc-links a:hover{text-decoration:underline!important;}
body:not(.admin-body) .upc-price-panel{box-shadow:0 14px 26px rgba(7,83,68,.10)!important;}
body:not(.admin-body) .upc-book-btn{background:#075344!important;border-color:#075344!important;}
body:not(.admin-body) .upc-book-btn:hover{background:#0a6a56!important;border-color:#0a6a56!important;}
body:not(.admin-body) .listing-search{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,.36fr)) auto auto!important;}
body:not(.admin-body) .nearest-sort-note{grid-column:1/-1!important;color:#52616f!important;font-weight:800!important;font-size:.86rem!important;}
body:not(.admin-body) .package-option-picker{
  display:grid!important;
  grid-template-columns:1fr minmax(240px,360px)!important;
  gap:18px!important;
  align-items:center!important;
  margin-bottom:18px!important;
  padding:18px!important;
  border:1px solid #e5d5ad!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fffdf8,#fff7e5)!important;
  box-shadow:0 14px 32px rgba(7,83,68,.08)!important;
}
body:not(.admin-body) .package-option-picker .eyebrow{color:#a66f12!important;font-weight:1000!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-size:.74rem!important;}
body:not(.admin-body) .package-option-picker h3{margin:4px 0 4px!important;color:#073f34!important;font-size:1.25rem!important;}
body:not(.admin-body) .package-option-picker p{margin:0!important;color:#52616f!important;font-weight:700!important;}
body:not(.admin-body) .package-option-form select,
body:not(.admin-body) .package-option-form .input{background:#fff!important;color:#111827!important;border:1px solid #d9c99b!important;font-weight:900!important;min-height:48px!important;}
body:not(.admin-body) .booking-preview-price{color:#075344!important;}
@media(max-width:900px){
  body:not(.admin-body) .listing-search{grid-template-columns:1fr 1fr!important;}
  body:not(.admin-body) .package-option-picker{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
  body:not(.admin-body) .listing-search{grid-template-columns:1fr!important;}
  body:not(.admin-body) .umrah-package-card{padding:10px!important;border-radius:18px!important;}
  body:not(.admin-body) .upc-topline{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;}
  body:not(.admin-body) .upc-status{justify-self:start!important;}
  body:not(.admin-body) .upc-hotel-card img,
  body:not(.admin-body) .upc-hotel-placeholder{height:190px!important;}
  body:not(.admin-body) .upc-links{flex-wrap:wrap!important;}
  body:not(.admin-body) .package-option-picker{padding:15px!important;border-radius:18px!important;}
  body:not(.admin-body) .package-option-picker h3{font-size:1.05rem!important;}
}


/* Account type / agency verification / markup UI */
.signup-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.signup-type-card{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #d9e4da;border-radius:16px;background:#fff;color:#0f241f;cursor:pointer}.signup-type-card input{margin-top:3px}.signup-type-card strong{display:block;color:#0f241f}.signup-type-card small{display:block;color:#4d6159;line-height:1.45;margin-top:3px}.muted-text{color:#7b8a83;font-weight:500}.badge-info,.badge-pending{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge-info{background:#ecfdf5;color:#065f46}.badge-pending{background:#fff7ed;color:#9a3412}.agency-pending-card .booking-preview-facts{margin:18px 0}.markup-settings-row{padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#f8faf9;margin-bottom:18px}@media(max-width:720px){.signup-type-grid{grid-template-columns:1fr}.agency-fields{grid-template-columns:1fr!important}}

/* === Royal Inn hotel gallery + supplier privacy patch === */
.hotel-gallery-section{padding:28px 0 70px;background:#f8f6ef;}
.hotel-gallery-intro .btn{margin-top:18px;}
.hotel-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.hotel-gallery-image{display:block;background:#fff;border:1px solid rgba(20,51,42,.12);border-radius:18px;overflow:hidden;box-shadow:0 16px 40px rgba(11,31,28,.08);aspect-ratio:4/3;}
.hotel-gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.hotel-gallery-image:hover img{transform:scale(1.035);}
.hotel-gallery-empty{background:#fff;border:1px solid rgba(20,51,42,.12);border-radius:22px;padding:28px;box-shadow:0 16px 40px rgba(11,31,28,.08);color:#16342d;}
.hotel-gallery-empty h2{color:#0f2f28;margin-bottom:8px;}
.hotel-gallery-empty p{color:#4b5d58;max-width:720px;}
.upc-code-box small{color:rgba(255,255,255,.78)!important;}
.upc-code-box strong{color:#fff!important;}
@media (max-width:900px){.hotel-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.hotel-gallery-grid{grid-template-columns:1fr;gap:14px}.hotel-gallery-section{padding-top:18px}.hotel-gallery-empty{padding:20px;border-radius:18px}}

/* Final hotel gallery/image fix: own-page gallery, no supplier-page redirect */
.hotel-gallery-section{padding:32px 0 70px;background:#f7f2e8;color:#123d32;}
.hotel-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;}
.hotel-gallery-image{margin:0;background:#fff;border:1px solid rgba(13,75,59,.14);border-radius:18px;padding:10px;box-shadow:0 14px 35px rgba(15,50,40,.08);overflow:hidden;}
.hotel-gallery-image img{display:block;width:100%;height:260px;object-fit:cover;border-radius:13px;background:#f1eadf;}
.hotel-gallery-empty{background:#fff;border:1px solid rgba(13,75,59,.14);border-radius:22px;padding:28px;color:#143f35;box-shadow:0 14px 35px rgba(15,50,40,.08);}
.upc-hotel-card img{background:#f1eadf;}
@media(max-width:900px){.hotel-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hotel-gallery-image img{height:220px;}}
@media(max-width:560px){.hotel-gallery-grid{grid-template-columns:1fr;}.hotel-gallery-image img{height:235px;}}


/* Royal Inn blue executive theme patch */
:root{
  --void:#020617;
  --midnight:#07111f;
  --twilight:#0b1b33;
  --nebula:#102a52;
  --dusk:#12386b;
  --ember:#0f4c81;
  --dawn:#38bdf8;
  --dawn-soft:#7dd3fc;
  --gold:#2563eb;
  --gold-bright:#60a5fa;
  --gold-deep:#1d4ed8;
  --crystal:#22d3ee;
  --crystal-dim:rgba(34,211,238,.16);
  --border-glow:rgba(96,165,250,.30);
  --text:#eef6ff;
  --text-muted:rgba(238,246,255,.72);
  --text-faint:rgba(238,246,255,.50);
}
.meta-icon,.icon{color:#020617;vertical-align:-.18em;}
.admin-body .icon,.navbar .icon,.mobile-menu .icon,.footer .icon{color:currentColor;}
.admin-top{background:rgba(2,6,23,.92);border-bottom-color:rgba(96,165,250,.22);}
.admin-side{background:#07111f;border-right-color:rgba(96,165,250,.18);}
.admin-nav a{color:rgba(238,246,255,.72);display:flex;align-items:center;gap:9px;}
.admin-nav a:hover{background:rgba(96,165,250,.12);color:#fff;}
.admin-nav a.active{background:linear-gradient(135deg,rgba(37,99,235,.30),rgba(14,165,233,.16));color:#fff;border:1px solid rgba(96,165,250,.35);}
.admin-main{background:linear-gradient(180deg,#081527 0%,#07111f 100%);}
.tbl th{color:#eaf4ff;}
.tbl td{color:#dbeafe;}
.table-wrap,.form-wrap,.api-editor-card,.api-help-card,.api-vendor-card{border-color:rgba(96,165,250,.18)!important;}
.upc-airline-logo-img{width:58px;height:58px;border-radius:18px;background:#fff;padding:8px;object-fit:contain;box-shadow:0 12px 28px rgba(2,6,23,.22);}
.upc-info-box b,.upc-hotel-card p,.upc-gifts b,.upc-route-chip b,.upc-available{display:flex;align-items:center;gap:6px;}
.upc-info-box .icon,.upc-hotel-card .icon,.upc-gifts .icon,.upc-route-chip .icon,.upc-available .icon{color:#020617;stroke-width:1.8;}
.manage-details summary{cursor:pointer;list-style:none;}
.manage-panel{display:grid;gap:8px;min-width:240px;margin-top:8px;padding:12px;border:1px solid rgba(96,165,250,.18);border-radius:14px;background:#0b1b33;box-shadow:0 18px 48px rgba(0,0,0,.28);}
.mini-manage-form{display:grid;gap:7px;}
@media (max-width: 859px){
  .admin-wrap{display:block;}
  .admin-side{position:fixed;left:0;top:var(--nav-h);bottom:0;width:82vw;max-width:310px;height:auto;transform:translateX(-105%);transition:.22s ease;z-index:999;background:#061225;box-shadow:20px 0 60px rgba(0,0,0,.38);}
  .admin-side.open{transform:translateX(0);}
  .admin-main{padding:22px 14px;min-height:calc(100vh - var(--nav-h));}
  .admin-top{padding:0 12px;}
  .admin-brand-copy small{display:none;}
  .admin-pill-link{padding:8px 10px;font-size:.76rem;}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .tbl{min-width:900px;}
  .form-grid.cols-2{grid-template-columns:1fr!important;}
  .api-hub-layout{grid-template-columns:1fr!important;}
}
@media (max-width: 859px){body.admin-menu-open .admin-side{transform:translateX(0);}}

/* === Production clean hardening: mobile UI, media fallback, accessible actions === */
.media{background:linear-gradient(135deg,#dbeafe,#eff6ff)!important;position:relative;overflow:hidden;}
.media-img{width:100%;height:100%;object-fit:cover;display:block;}
.media-placeholder{min-height:220px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#020617!important;background:linear-gradient(135deg,#e0f2fe,#dbeafe)!important;font-weight:900;text-align:center;padding:18px;}
.media-placeholder .icon{color:#020617!important;}
.media.media-missing::after{content:'Image unavailable';position:absolute;right:12px;bottom:12px;background:rgba(2,6,23,.78);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;}
.channel-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eff6ff;color:#020617!important;border:1px solid #bfdbfe;}
.channel-icon .icon{color:#020617!important;}
.upc-services span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;}
.upc-links span{display:none!important;}
.upc-hotel-card p .icon{color:#020617!important;}
.admin-body .btn,.admin-body button,.admin-body summary{touch-action:manipulation;}
.admin-body .input,.admin-body .select,.admin-body .textarea{background:#ffffff!important;color:#0f172a!important;border-color:rgba(96,165,250,.36)!important;}
.admin-body .field-group label{color:#eaf4ff!important;}
.admin-body .form-wrap p,.admin-body .field-hint,.admin-body small{color:#bfdbfe;}
.admin-body .tbl{border-collapse:separate;border-spacing:0;}
.admin-body .tbl th{background:#0b1b33!important;color:#eaf4ff!important;position:sticky;top:0;z-index:1;}
.admin-body .tbl td{background:rgba(255,255,255,.035);border-bottom:1px solid rgba(96,165,250,.14);}
.admin-body .tbl tr:hover td{background:rgba(96,165,250,.08);}
@media(max-width:720px){
  .hotel-card .foot{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important;}
  .hotel-card .foot .btn{width:100%!important;justify-content:center!important;}
  .grid.grid-3{grid-template-columns:1fr!important;}
  .mobile-menu.open{max-height:calc(100vh - var(--nav-h));overflow-y:auto;}
  .booking-channel-cards{grid-template-columns:1fr!important;}
  .channel-icon{width:40px;height:40px;}
}
@media(max-width:859px){
  body.admin-menu-open{overflow:hidden;}
  body.admin-menu-open::after{content:'';position:fixed;inset:var(--nav-h) 0 0 0;background:rgba(2,6,23,.58);z-index:998;}
  .admin-side{z-index:999!important;}
  .admin-main{padding-bottom:80px!important;}
  .manage-panel{min-width:min(78vw,320px)!important;}
}
.airline-mark-img{width:52px;height:52px;border-radius:16px;background:#fff;padding:8px;object-fit:contain;box-shadow:0 10px 24px rgba(2,6,23,.18);flex:0 0 52px;}
@media(max-width:560px){.airline-mark-img{width:46px;height:46px;border-radius:14px;flex-basis:46px;}}

/* === Group seats production rescue === */
body:not(.admin-body) .seat-filter-bar{align-items:end!important;gap:12px!important;}
body:not(.admin-body) .seat-filter-bar .btn{min-height:46px;justify-content:center;}
body:not(.admin-body) .seat-card{contain:layout paint;}
body:not(.admin-body) .seat-airline{min-width:0;}
body:not(.admin-body) .airline-name{line-height:1.18;word-break:break-word;}
body:not(.admin-body) .airline-sub{line-height:1.45;}
body:not(.admin-body) .leg-body{display:grid!important;grid-template-columns:minmax(70px,.8fr) minmax(72px,.8fr) minmax(150px,1.5fr) minmax(110px,1fr)!important;align-items:center!important;gap:10px!important;}
body:not(.admin-body) .leg-route{display:flex!important;align-items:center;gap:8px;min-width:0;}
body:not(.admin-body) .leg-route .ap{white-space:nowrap;}
body:not(.admin-body) .seat-side .btn{width:100%!important;justify-content:center!important;}
body:not(.admin-body) .seat-fare{font-size:clamp(1.55rem,3vw,2.15rem)!important;line-height:1!important;}
.admin-body .sector-row{background:rgba(255,255,255,.05)!important;border-color:rgba(96,165,250,.22)!important;}
.admin-body .sector-fields{align-items:end;}
.admin-body #seat-form .btn{justify-content:center;}
@media(max-width:900px){
  body:not(.admin-body) .seat-card{grid-template-columns:1fr!important;}
  body:not(.admin-body) .seat-side{border-left:0!important;border-top:1px solid var(--public-line)!important;}
}
@media(max-width:720px){
  body:not(.admin-body) .seat-filter-bar{grid-template-columns:1fr!important;position:relative;z-index:10;}
  body:not(.admin-body) .seat-filter-bar .btn,
  body:not(.admin-body) .seat-filter-bar a.btn{width:100%!important;}
  body:not(.admin-body) .seat-airline{gap:12px!important;}
  body:not(.admin-body) .leg-body{grid-template-columns:1fr!important;padding:12px!important;}
  body:not(.admin-body) .leg-route{justify-content:space-between;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px;}
  body:not(.admin-body) .seat-fare{text-align:left!important;}
  body:not(.admin-body) .seat-side{text-align:left!important;}
  .admin-body .sector-head{display:grid!important;grid-template-columns:42px 1fr 84px 42px!important;gap:8px!important;align-items:center!important;}
  .admin-body .sector-fields{grid-template-columns:1fr!important;}
  .admin-body .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .admin-body .tbl{min-width:920px;}
}


/* Final rescue: remove old round airline fallback circles and convert remaining green accent semantics to blue. */
body:not(.admin-body) .upc-airline-logo{display:none!important;}
body:not(.admin-body) .airline-code-pill{display:inline-grid;place-items:center;min-width:52px;height:52px;padding:0 10px;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#0f2f68;font-weight:1000;letter-spacing:.05em;box-shadow:0 10px 24px rgba(37,99,235,.18);flex:0 0 auto;}
body:not(.admin-body) .seat-card{overflow:hidden;}
body:not(.admin-body) .seat-airline{align-items:center;}
body:not(.admin-body) .seat-leg{background:rgba(15,47,104,.05);border-color:rgba(37,99,235,.14);}
body:not(.admin-body) .leg-label{color:#1d4ed8;}
body:not(.admin-body) .leg-route .arrow{color:#2563eb;}
body:not(.admin-body) .api-source{color:#2563eb!important;}
body:not(.admin-body) .seat-low{background:#dbeafe!important;color:#1d4ed8!important;border-color:rgba(37,99,235,.20)!important;}
@media(max-width:700px){
  body:not(.admin-body) .seat-filter-bar{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px!important;}
  body:not(.admin-body) .seat-filter-bar .btn{width:100%!important;justify-content:center!important;}
  body:not(.admin-body) .seat-card{grid-template-columns:1fr!important;border-radius:22px!important;}
  body:not(.admin-body) .seat-side{border-left:0!important;border-top:1px solid var(--border-soft)!important;text-align:left!important;display:grid!important;grid-template-columns:1fr!important;}
  body:not(.admin-body) .leg-body{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body:not(.admin-body) .leg-route{grid-column:1/-1!important;justify-content:space-between!important;}
  body:not(.admin-body) .leg-times{grid-column:1/-1!important;}
}

/* ===== Package Poster Builder ===== */
.poster-builder-shell{margin-bottom:28px;}
.poster-builder-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:18px;align-items:start;}
.poster-builder-panel{background:#fff;border:1px solid rgba(16,24,40,.08);border-radius:22px;padding:20px;box-shadow:0 16px 32px rgba(15,23,42,.05);}
.poster-builder-panel-full{grid-column:1/-1;}
.poster-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;}
.poster-panel-head h3{margin:0;font-size:1.08rem;}
.poster-panel-head span{color:var(--text-faint);font-size:.92rem;}
.poster-brand-mini{display:flex;align-items:center;gap:14px;border:1px solid rgba(15,47,104,.08);background:linear-gradient(180deg,#fff,#f8fafc);padding:14px;border-radius:18px;margin-top:12px;}
.poster-brand-logo-wrap{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:rgba(201,161,74,.10);overflow:hidden;flex:0 0 auto;}
.poster-brand-logo,.poster-page-logo{width:100%;height:100%;object-fit:contain;display:block;}
.poster-brand-mini strong{display:block;color:#0f172a;}
.poster-brand-mini small{display:block;color:var(--text-faint);margin-top:4px;}

.poster-template-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.poster-template-card{position:relative;display:grid;gap:8px;border:1px solid rgba(15,47,104,.12);padding:14px;border-radius:18px;background:#fff;cursor:pointer;transition:.18s ease;}
.poster-template-card input{position:absolute;opacity:0;pointer-events:none;}
.poster-template-card.active,.poster-template-card:has(input:checked){border-color:#0f2f68;box-shadow:0 0 0 3px rgba(15,47,104,.08);transform:translateY(-1px);}
.poster-template-card strong{font-size:.98rem;color:#0f172a;}
.poster-template-card small{color:#334155;font-size:.84rem;}
.poster-template-card em{color:var(--text-faint);font-style:normal;font-size:.8rem;}
.poster-template-preview{height:84px;border-radius:14px;padding:10px;display:grid;gap:7px;align-content:center;}
.poster-template-preview i{display:block;height:14px;border-radius:999px;opacity:.95;}
.template-preview-royal{background:linear-gradient(135deg,#fff8eb,#efe7d3);}
.template-preview-royal i:nth-child(1){background:#0f2f68;width:68%;}
.template-preview-royal i:nth-child(2){background:#c9a14a;width:92%;}
.template-preview-royal i:nth-child(3){background:#ffffff;width:82%;border:1px solid rgba(15,47,104,.08);}
.template-preview-azure{background:linear-gradient(135deg,#eff6ff,#dbeafe);}
.template-preview-azure i:nth-child(1){background:#1d4ed8;width:72%;}
.template-preview-azure i:nth-child(2){background:#2563eb;width:90%;}
.template-preview-azure i:nth-child(3){background:#ffffff;width:84%;}
.template-preview-midnight{background:linear-gradient(135deg,#0f172a,#1e293b);}
.template-preview-midnight i:nth-child(1){background:#c9a14a;width:64%;}
.template-preview-midnight i:nth-child(2){background:#334155;width:92%;}
.template-preview-midnight i:nth-child(3){background:#f8fafc;width:78%;}
.template-preview-minimal{background:linear-gradient(135deg,#fffdf8,#f8fafc);}
.template-preview-minimal i:nth-child(1){background:#0f2f68;width:66%;}
.template-preview-minimal i:nth-child(2){background:#e2e8f0;width:96%;}
.template-preview-minimal i:nth-child(3){background:#c9a14a;width:54%;}

.poster-select-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;margin-bottom:14px;align-items:center;}
.poster-package-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:520px;overflow:auto;padding-right:4px;}
.poster-pkg-option{display:block;cursor:pointer;}
.poster-pkg-option input{position:absolute;opacity:0;pointer-events:none;}
.poster-pkg-option-card{height:100%;display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(15,47,104,.10);background:#fff;border-radius:18px;transition:.18s ease;box-shadow:0 8px 20px rgba(15,23,42,.03);}
.poster-pkg-option input:checked + .poster-pkg-option-card{border-color:#0f2f68;box-shadow:0 0 0 3px rgba(15,47,104,.08),0 16px 28px rgba(15,23,42,.06);background:linear-gradient(180deg,#ffffff,#f8fbff);}
.poster-pkg-thumb{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eef2ff);display:grid;place-items:center;overflow:hidden;color:#0f2f68;border:1px solid rgba(15,47,104,.08);}
.poster-pkg-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.poster-pkg-copy{min-width:0;display:grid;gap:5px;}
.poster-pkg-copy strong{font-size:.95rem;color:#0f172a;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.poster-pkg-copy small{display:block;color:#64748b;line-height:1.3;}
.poster-pkg-meta{display:flex;gap:8px;flex-wrap:wrap;}
.poster-pkg-meta span{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#f8fafc;border:1px solid rgba(15,47,104,.08);font-size:.72rem;font-weight:700;color:#0f2f68;}
.poster-pkg-price{font-weight:800;color:#0f2f68;white-space:nowrap;font-size:.94rem;}

.poster-output-wrap{display:grid;gap:26px;}
.poster-output-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid rgba(15,47,104,.08);border-radius:18px;padding:16px 18px;box-shadow:0 10px 30px rgba(15,23,42,.04);}
.poster-page{--poster-bg:#fff;--poster-ink:#0f172a;--poster-soft:#475569;--poster-accent:#0f2f68;--poster-accent-2:#c9a14a;--poster-line:rgba(15,47,104,.10);--poster-surface:#f8fafc;--poster-note:#eef2ff;position:relative;background:var(--poster-bg);color:var(--poster-ink);border-radius:28px;padding:26px;border:1px solid var(--poster-line);box-shadow:0 20px 50px rgba(15,23,42,.08);width:210mm;max-width:100%;min-height:297mm;margin:0 auto;display:grid;grid-template-rows:auto auto 1fr auto;gap:16px;overflow:hidden;}
.poster-template-royal{--poster-bg:linear-gradient(180deg,#fffaf0,#f7f1e2);--poster-ink:#14213d;--poster-soft:#52627c;--poster-accent:#0f2f68;--poster-accent-2:#c9a14a;--poster-line:rgba(15,47,104,.10);--poster-surface:rgba(255,255,255,.74);--poster-note:#f3ead5;}
.poster-template-azure{--poster-bg:linear-gradient(180deg,#ffffff,#f0f7ff);--poster-ink:#0f172a;--poster-soft:#466179;--poster-accent:#1d4ed8;--poster-accent-2:#60a5fa;--poster-line:rgba(37,99,235,.12);--poster-surface:rgba(255,255,255,.88);--poster-note:#dbeafe;}
.poster-template-midnight{--poster-bg:linear-gradient(180deg,#0f172a,#111827);--poster-ink:#f8fafc;--poster-soft:#cbd5e1;--poster-accent:#c9a14a;--poster-accent-2:#f8fafc;--poster-line:rgba(201,161,74,.24);--poster-surface:rgba(255,255,255,.06);--poster-note:rgba(201,161,74,.14);}
.poster-template-minimal{--poster-bg:linear-gradient(180deg,#fffdf8,#f8fafc);--poster-ink:#10233f;--poster-soft:#54657e;--poster-accent:#0f2f68;--poster-accent-2:#c9a14a;--poster-line:rgba(15,47,104,.12);--poster-surface:rgba(255,255,255,.92);--poster-note:#f5efe3;}
.poster-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;}
.poster-page-brand{display:grid;grid-template-columns:78px minmax(0,1fr);gap:16px;align-items:center;}
.poster-page-brand-logo{width:78px;height:78px;border-radius:22px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.72);border:1px solid var(--poster-line);padding:8px;}
.poster-page-brand small{display:block;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--poster-accent);margin-bottom:6px;}
.poster-page-brand h1{margin:0;font-size:2rem;line-height:1.05;color:var(--poster-ink);}
.poster-page-brand p{margin:6px 0 0;font-size:.95rem;color:var(--poster-soft);max-width:720px;}
.poster-page-side{display:grid;gap:6px;text-align:right;justify-items:end;font-size:.88rem;color:var(--poster-soft);}
.poster-page-side strong{font-size:1rem;color:var(--poster-ink);}
.poster-page-side em{font-style:normal;padding:7px 12px;border-radius:999px;background:var(--poster-surface);border:1px solid var(--poster-line);color:var(--poster-ink);}
.poster-note-band{padding:12px 16px;border-radius:18px;background:var(--poster-note);border:1px solid var(--poster-line);font-weight:700;color:var(--poster-ink);}
.poster-card-list{display:grid;gap:12px;align-content:start;}
.poster-package-card{display:grid;grid-template-columns:128px minmax(0,1fr) 180px;gap:16px;align-items:stretch;padding:14px;background:var(--poster-surface);border:1px solid var(--poster-line);border-radius:22px;break-inside:avoid;}
.poster-package-media{width:128px;height:128px;border-radius:18px;overflow:hidden;background:rgba(15,47,104,.07);display:grid;place-items:center;color:var(--poster-accent);border:1px solid var(--poster-line);}
.poster-package-media img{width:100%;height:100%;object-fit:cover;display:block;}
.poster-package-fallback{width:100%;height:100%;display:grid;place-items:center;gap:8px;text-align:center;padding:12px;font-weight:800;}
.poster-package-copy{display:grid;gap:10px;min-width:0;}
.poster-package-topline{display:flex;gap:8px;flex-wrap:wrap;}
.poster-tier-badge,.poster-ref-badge,.poster-source-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid var(--poster-line);font-size:.72rem;font-weight:800;letter-spacing:.02em;}
.poster-tier-badge{background:rgba(255,255,255,.72);color:var(--poster-accent);}
.poster-ref-badge{background:rgba(201,161,74,.12);color:var(--poster-accent);}
.poster-source-badge{background:rgba(15,47,104,.06);color:var(--poster-soft);}
.poster-package-copy h2{margin:0;font-size:1.12rem;line-height:1.18;color:var(--poster-ink);}
.poster-summary{margin:0;color:var(--poster-soft);font-size:.9rem;}
.poster-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;}
.poster-details-grid div{display:grid;gap:3px;min-width:0;}
.poster-details-grid strong{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--poster-accent);}
.poster-details-grid span{font-size:.92rem;line-height:1.35;color:var(--poster-ink);word-break:break-word;}
.poster-package-pricebox{display:grid;align-content:start;gap:8px;justify-items:end;background:rgba(255,255,255,.55);border:1px solid var(--poster-line);padding:14px;border-radius:18px;}
.poster-airline-mini{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.82);display:grid;place-items:center;border:1px solid var(--poster-line);overflow:hidden;color:var(--poster-accent);}
.poster-airline-mini img{width:100%;height:100%;object-fit:contain;padding:6px;display:block;}
.poster-package-pricebox small{font-size:.78rem;font-weight:700;color:var(--poster-soft);}
.poster-package-pricebox strong{font-size:1.18rem;line-height:1.05;color:var(--poster-accent);}
.poster-price-grid{display:grid;gap:6px;width:100%;margin-top:4px;}
.poster-price-grid span{display:flex;justify-content:space-between;gap:10px;background:rgba(255,255,255,.72);border:1px solid var(--poster-line);padding:7px 9px;border-radius:12px;font-size:.78rem;color:var(--poster-ink);}
.poster-price-grid b{font-weight:800;color:var(--poster-accent);}
.poster-page-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:8px;}
.poster-page-foot div{display:grid;gap:3px;padding:12px 14px;border-radius:16px;background:var(--poster-surface);border:1px solid var(--poster-line);}
.poster-page-foot strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--poster-accent);}
.poster-page-foot span{font-size:.84rem;line-height:1.35;color:var(--poster-soft);}

@media(max-width:1100px){
  .poster-builder-grid{grid-template-columns:1fr;}
  .poster-builder-panel-full{grid-column:auto;}
  .poster-package-picker{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .poster-template-options{grid-template-columns:1fr 1fr;}
  .poster-select-tools{grid-template-columns:1fr;}
  .poster-page{width:100%;min-height:auto;padding:18px;border-radius:22px;}
  .poster-page-head{grid-template-columns:1fr;}
  .poster-page-side{text-align:left;justify-items:start;}
  .poster-package-card{grid-template-columns:1fr;}
  .poster-package-media{width:100%;height:160px;}
  .poster-package-pricebox{justify-items:start;}
  .poster-details-grid,.poster-page-foot{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .poster-template-options{grid-template-columns:1fr;}
  .poster-pkg-option-card{grid-template-columns:56px 1fr;}
  .poster-pkg-price{grid-column:2;justify-self:start;}
  .poster-page-brand{grid-template-columns:62px 1fr;}
  .poster-page-brand-logo{width:62px;height:62px;border-radius:18px;}
  .poster-page-brand h1{font-size:1.46rem;}
  .poster-page-brand p{font-size:.9rem;}
}

@media print{
  body.admin-body{background:#fff!important;}
  .no-print,.admin-top,.admin-side{display:none!important;}
  .admin-wrap,.admin-main{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
  .poster-output-wrap{display:block!important;}
  .poster-page{box-shadow:none!important;border:0!important;margin:0 auto 8mm!important;page-break-after:always;page-break-inside:avoid;background:var(--poster-bg)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .poster-page:last-child{page-break-after:auto;}
}

/* ===== Final API flight fields + poster/admin contrast rescue ===== */
body.admin-body .field-group label,
body.admin-body label,
body.admin-body .poster-panel-head span,
body.admin-body small,
body.admin-body .help-text,
body.admin-body .form-help,
body.admin-body .muted,
body.admin-body .text-muted{
  color:#1f2937!important;
}
body.admin-body input,
body.admin-body select,
body.admin-body textarea,
body.admin-body .input,
body.admin-body .select,
body.admin-body .textarea{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#b8c6d8!important;
  caret-color:#0f172a!important;
}
body.admin-body input::placeholder,
body.admin-body textarea::placeholder,
body.admin-body .input::placeholder,
body.admin-body .textarea::placeholder{
  color:#64748b!important;
  opacity:1!important;
}
body.admin-body .form-wrap,
body.admin-body .table-wrap,
body.admin-body .poster-builder-panel,
body.admin-body .poster-output-toolbar{
  color:#0f172a!important;
}
body.admin-body .form-wrap h1,
body.admin-body .form-wrap h2,
body.admin-body .form-wrap h3,
body.admin-body .table-wrap h1,
body.admin-body .table-wrap h2,
body.admin-body .table-wrap h3,
body.admin-body .poster-builder-panel h1,
body.admin-body .poster-builder-panel h2,
body.admin-body .poster-builder-panel h3{
  color:#0f172a!important;
}
body.admin-body .btn.btn-ghost,
body.admin-body a.btn.btn-ghost,
body.admin-body button.btn.btn-ghost{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
}
body.admin-body .btn.btn-ghost:hover,
body.admin-body a.btn.btn-ghost:hover,
body.admin-body button.btn.btn-ghost:hover{
  background:#f8fafc!important;
  color:#000000!important;
}
body:not(.admin-body) .upc-flight-mini{
  display:grid;
  gap:3px;
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
}
body:not(.admin-body) .upc-flight-mini strong{font-size:.84rem;color:#fff;}
body:not(.admin-body) .upc-flight-mini span{font-size:.78rem;color:rgba(255,255,255,.86);line-height:1.3;}

/* Poster pages must never print white text on white/light boxes. */
.poster-template-royal,
.poster-template-azure,
.poster-template-minimal{
  --poster-ink:#0f172a!important;
  --poster-soft:#334155!important;
  --poster-surface:rgba(255,255,255,.94)!important;
  --poster-note:#eaf2ff!important;
  color:#0f172a!important;
}
.poster-template-royal .poster-package-card,
.poster-template-azure .poster-package-card,
.poster-template-minimal .poster-package-card,
.poster-template-royal .poster-package-pricebox,
.poster-template-azure .poster-package-pricebox,
.poster-template-minimal .poster-package-pricebox,
.poster-template-royal .poster-page-foot div,
.poster-template-azure .poster-page-foot div,
.poster-template-minimal .poster-page-foot div{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:rgba(15,47,104,.16)!important;
}
.poster-template-royal .poster-page-brand h1,
.poster-template-azure .poster-page-brand h1,
.poster-template-minimal .poster-page-brand h1,
.poster-template-royal .poster-package-copy h2,
.poster-template-azure .poster-package-copy h2,
.poster-template-minimal .poster-package-copy h2,
.poster-template-royal .poster-details-grid span,
.poster-template-azure .poster-details-grid span,
.poster-template-minimal .poster-details-grid span,
.poster-template-royal .poster-price-grid span,
.poster-template-azure .poster-price-grid span,
.poster-template-minimal .poster-price-grid span{
  color:#0f172a!important;
}
.poster-template-royal .poster-summary,
.poster-template-azure .poster-summary,
.poster-template-minimal .poster-summary,
.poster-template-royal .poster-page-brand p,
.poster-template-azure .poster-page-brand p,
.poster-template-minimal .poster-page-brand p,
.poster-template-royal .poster-page-foot span,
.poster-template-azure .poster-page-foot span,
.poster-template-minimal .poster-page-foot span{
  color:#334155!important;
}
.poster-template-midnight .poster-package-card,
.poster-template-midnight .poster-package-pricebox,
.poster-template-midnight .poster-page-foot div,
.poster-template-midnight .poster-price-grid span{
  background:rgba(15,23,42,.82)!important;
  color:#f8fafc!important;
}
.poster-template-midnight .poster-package-copy h2,
.poster-template-midnight .poster-details-grid span,
.poster-template-midnight .poster-page-brand h1,
.poster-template-midnight .poster-price-grid span{
  color:#f8fafc!important;
}
.poster-template-midnight .poster-summary,
.poster-template-midnight .poster-page-brand p,
.poster-template-midnight .poster-page-foot span{
  color:#dbeafe!important;
}
@media print{
  .poster-template-royal .poster-package-card,
  .poster-template-azure .poster-package-card,
  .poster-template-minimal .poster-package-card,
  .poster-template-royal .poster-package-pricebox,
  .poster-template-azure .poster-package-pricebox,
  .poster-template-minimal .poster-package-pricebox{background:#ffffff!important;color:#0f172a!important;}
}


/* ===== Final customer/privacy + poster reset + contrast rescue ===== */
body:not(.admin-body) .hero-stats .stat strong,
body:not(.admin-body) .hero-stats .stat span,
.hero-stats .stat strong,
.hero-stats .stat span{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:0 2px 10px rgba(0,0,0,.18)!important;
}
.poster-builder-shell.poster-generated{display:none!important;}
.poster-generated-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px;padding:16px 18px;background:#fff;border:1px solid rgba(15,47,104,.12);border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06);}
.poster-generated-actions strong{display:block;color:#0f172a;font-weight:1000;}
.poster-generated-actions span{display:block;color:#475569;font-weight:700;margin-top:3px;}
.poster-page,.poster-page *{text-shadow:none;}
.poster-template-royal .poster-package-pricebox,
.poster-template-azure .poster-package-pricebox,
.poster-template-minimal .poster-package-pricebox{background:#ffffff!important;color:#0f172a!important;}
.poster-template-royal .poster-price-grid span,
.poster-template-azure .poster-price-grid span,
.poster-template-minimal .poster-price-grid span{background:#f8fafc!important;color:#0f172a!important;}
.poster-template-royal .poster-details-grid span,
.poster-template-azure .poster-details-grid span,
.poster-template-minimal .poster-details-grid span,
.poster-template-royal .poster-package-copy h2,
.poster-template-azure .poster-package-copy h2,
.poster-template-minimal .poster-package-copy h2{color:#0f172a!important;}
.poster-template-royal .poster-summary,
.poster-template-azure .poster-summary,
.poster-template-minimal .poster-summary{color:#334155!important;}
.poster-template-midnight .poster-package-pricebox,
.poster-template-midnight .poster-price-grid span{background:rgba(15,23,42,.78)!important;color:#f8fafc!important;}
.poster-tier-badge,.poster-ref-badge{background:#ffffff!important;color:#0f2f68!important;border-color:rgba(15,47,104,.16)!important;}
.poster-template-midnight .poster-tier-badge,
.poster-template-midnight .poster-ref-badge{background:rgba(255,255,255,.10)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.18)!important;}
body.admin-body label,
body.admin-body .field-group label,
body.admin-body .poster-panel-head h3,
body.admin-body .poster-panel-head span,
body.admin-body .poster-pkg-copy strong,
body.admin-body .poster-pkg-copy small,
body.admin-body .poster-template-card strong,
body.admin-body .poster-template-card small,
body.admin-body .poster-template-card em{
  color:#0f172a!important;
}
body.admin-body input::placeholder,
body.admin-body textarea::placeholder{color:#64748b!important;opacity:1!important;}
@media(max-width:720px){.poster-generated-actions{display:grid;grid-template-columns:1fr}.poster-generated-actions .btn{width:100%;justify-content:center;}}
@media print{.poster-generated-actions{display:none!important}.poster-builder-shell{display:none!important}.poster-page{width:210mm!important;max-width:210mm!important;min-height:297mm!important;border-radius:0!important;}}

/* Final package flight-details rescue: never hide departure/return data. */
body:not(.admin-body) .upc-info-grid-detailed{
  grid-template-columns:1.15fr 1.15fr 1.15fr .95fr .8fr!important;
  align-items:stretch!important;
}
body:not(.admin-body) .upc-flight-detail-box,
body:not(.admin-body) .upc-duration-box{
  min-height:112px!important;
  justify-content:start!important;
  text-align:left!important;
  overflow:visible!important;
}
body:not(.admin-body) .upc-flight-detail-box b,
body:not(.admin-body) .upc-duration-box b{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#0f4f40!important;
  font-weight:900!important;
  font-size:.88rem!important;
  white-space:normal!important;
}
body:not(.admin-body) .upc-flight-detail-box strong,
body:not(.admin-body) .upc-duration-box strong{
  display:block!important;
  margin-top:8px!important;
  color:#0b4638!important;
  font-size:1.02rem!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body:not(.admin-body) .upc-flight-detail-box small,
body:not(.admin-body) .upc-duration-box small,
body:not(.admin-body) .upc-flight-detail-box em{
  display:block!important;
  margin-top:7px!important;
  color:#334155!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow:visible!important;
}
body:not(.admin-body) .upc-flight-detail-box em{
  color:#0f766e!important;
  font-size:.82rem!important;
  word-break:break-word!important;
}
body:not(.admin-body) .upc-code-box strong{
  white-space:normal!important;
  word-break:break-word!important;
}
body:not(.admin-body) .upc-flight-mini{
  width:100%!important;
  display:grid!important;
  gap:4px!important;
  text-align:center!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:14px!important;
  padding:9px 10px!important;
}
body:not(.admin-body) .upc-flight-mini strong,
body:not(.admin-body) .upc-flight-mini span{
  display:block!important;
  color:#fff!important;
  line-height:1.28!important;
}
body:not(.admin-body) .upc-flight-mini span{font-size:.78rem!important;opacity:.88!important;}
@media(max-width:1180px){
  body:not(.admin-body) .upc-info-grid-detailed{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body:not(.admin-body) .upc-info-grid-detailed .upc-code-box{grid-column:1/-1!important;}
}
@media(max-width:720px){
  body:not(.admin-body) .upc-info-grid-detailed{grid-template-columns:1fr!important;}
  body:not(.admin-body) .upc-flight-detail-box,
  body:not(.admin-body) .upc-duration-box{min-height:auto!important;}
}


/* =========================================================
   FINAL BLUE GRADIENT OVERRIDE
   Converts old green card portions to dark-blue → sky-blue.
   Keep this block at the END of style.css so it wins cascade.
   ========================================================= */
:root{
  --ri-blue-dark:#0f2f68;
  --ri-blue:#1d4ed8;
  --ri-blue-sky:#7dd3fc;
  --ri-blue-soft:#eff6ff;
  --ri-blue-line:rgba(29,78,216,.20);
}

body:not(.admin-body) .umrah-package-card::before,
body:not(.admin-body) .package-card::before,
body:not(.admin-body) .hotel-card::before,
body:not(.admin-body) .seat-card::before{
  background:linear-gradient(90deg,var(--ri-blue-dark) 0%,var(--ri-blue) 58%,var(--ri-blue-sky) 100%)!important;
}

/* Main dark-green blocks inside package cards */
body:not(.admin-body) .upc-airline-panel,
body:not(.admin-body) .upc-code-box,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .package-card .btn,
body:not(.admin-body) .hotel-card .btn,
body:not(.admin-body) .seat-card .btn,
body:not(.admin-body) .btn-primary{
  background:linear-gradient(135deg,var(--ri-blue-dark) 0%,var(--ri-blue) 58%,var(--ri-blue-sky) 100%)!important;
  border-color:rgba(125,211,252,.42)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(29,78,216,.22)!important;
}

body:not(.admin-body) .upc-airline-panel *,
body:not(.admin-body) .upc-code-box *,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-side *,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .seat-head *,
body:not(.admin-body) .package-card .btn,
body:not(.admin-body) .hotel-card .btn,
body:not(.admin-body) .seat-card .btn,
body:not(.admin-body) .btn-primary{
  color:#fff!important;
}

/* Pills / seats / availability that were green */
body:not(.admin-body) .upc-route-chip,
body:not(.admin-body) .upc-available,
body:not(.admin-body) .upc-seats,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .seat-leg,
body:not(.admin-body) .airline-code-pill{
  border-color:rgba(125,211,252,.45)!important;
  background:linear-gradient(135deg,rgba(15,47,104,.12),rgba(29,78,216,.14),rgba(125,211,252,.22))!important;
}
body:not(.admin-body) .upc-route-chip b,
body:not(.admin-body) .upc-seats strong,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .api-source,
body:not(.admin-body) .leg-label,
body:not(.admin-body) .leg-route .arrow,
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span,
body:not(.admin-body) .booking-preview-price,
body:not(.admin-body) .package-card .price,
body:not(.admin-body) .hotel-card .price{
  color:var(--ri-blue)!important;
}

/* Light green card chips now light blue */
body:not(.admin-body) .upc-price-row.best,
body:not(.admin-body) .upc-gifts,
body:not(.admin-body) .upc-gifts span,
body:not(.admin-body) .upc-services span,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .package-option-picker,
body:not(.admin-body) .signup-type-card,
body:not(.admin-body) .badge-info{
  background:linear-gradient(135deg,#ffffff 0%,var(--ri-blue-soft) 60%,#e0f2fe 100%)!important;
  border-color:var(--ri-blue-line)!important;
}
body:not(.admin-body) .upc-info-box b,
body:not(.admin-body) .upc-info-box strong,
body:not(.admin-body) .upc-flight-detail-box b,
body:not(.admin-body) .upc-flight-detail-box strong,
body:not(.admin-body) .upc-duration-box b,
body:not(.admin-body) .upc-duration-box strong,
body:not(.admin-body) .upc-price-row strong,
body:not(.admin-body) .upc-gifts b,
body:not(.admin-body) .upc-gifts span,
body:not(.admin-body) .upc-services strong,
body:not(.admin-body) .upc-services span,
body:not(.admin-body) .package-option-picker h3,
body:not(.admin-body) .signup-type-card strong,
body:not(.admin-body) .badge-info{
  color:var(--ri-blue-dark)!important;
}
body:not(.admin-body) .upc-price-row span,
body:not(.admin-body) .package-option-picker .eyebrow,
body:not(.admin-body) .hotel-card .dist{
  color:var(--ri-blue)!important;
}

/* Cards border glow in blue */
body:not(.admin-body) .package-card,
body:not(.admin-body) .hotel-card,
body:not(.admin-body) .seat-card,
body:not(.admin-body) .umrah-package-card{
  border-color:rgba(29,78,216,.18)!important;
  box-shadow:0 22px 60px rgba(15,47,104,.12)!important;
}
body:not(.admin-body) .package-card:hover,
body:not(.admin-body) .hotel-card:hover,
body:not(.admin-body) .seat-card:hover,
body:not(.admin-body) .umrah-package-card:hover{
  border-color:rgba(125,211,252,.46)!important;
  box-shadow:0 28px 76px rgba(29,78,216,.22)!important;
}

/* Keep WhatsApp green intentionally; it is brand-standard, not package-card green. */

/* ===== 1350 x 1080 Poster Builder Final Layout ===== */
.poster-output-wrap{
  overflow-x:auto!important;
  padding-bottom:18px!important;
}
.poster-page{
  width:1350px!important;
  max-width:none!important;
  height:1080px!important;
  min-height:1080px!important;
  padding:30px!important;
  border-radius:30px!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  gap:16px!important;
}
.poster-card-list{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  grid-template-rows:repeat(2, minmax(0, 1fr))!important;
  gap:14px!important;
  min-height:0!important;
  align-content:stretch!important;
}
.poster-package-card{
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr) 178px!important;
  gap:14px!important;
  min-height:0!important;
  height:100%!important;
  padding:14px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.poster-package-media{
  width:130px!important;
  height:100%!important;
  min-height:190px!important;
  border-radius:18px!important;
}
.poster-package-copy{
  gap:8px!important;
  min-height:0!important;
  overflow:hidden!important;
}
.poster-package-copy h2{
  font-size:1.03rem!important;
  line-height:1.12!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.poster-summary{font-size:.8rem!important;line-height:1.25!important;}
.poster-package-topline{gap:5px!important;}
.poster-tier-badge,.poster-ref-badge,.poster-source-badge{
  font-size:.64rem!important;
  padding:4px 7px!important;
}
.poster-details-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 10px!important;
}
.poster-details-grid strong{font-size:.64rem!important;}
.poster-details-grid span{
  font-size:.78rem!important;
  line-height:1.22!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.poster-package-pricebox{
  padding:12px!important;
  border-radius:18px!important;
  gap:7px!important;
  align-content:start!important;
}
.poster-package-pricebox strong{font-size:1.02rem!important;}
.poster-price-grid{gap:5px!important;}
.poster-price-grid span{
  padding:6px 7px!important;
  font-size:.68rem!important;
}
.poster-page-head{
  grid-template-columns:minmax(0,1fr) 265px!important;
  gap:18px!important;
}
.poster-page-brand{grid-template-columns:72px minmax(0,1fr)!important;}
.poster-page-brand-logo{width:72px!important;height:72px!important;border-radius:20px!important;}
.poster-page-brand h1{font-size:1.85rem!important;line-height:1.02!important;}
.poster-page-brand p{font-size:.88rem!important;max-width:760px!important;}
.poster-page-side{font-size:.78rem!important;gap:4px!important;}
.poster-note-band{padding:10px 14px!important;font-size:.88rem!important;line-height:1.25!important;}
.poster-page-foot{
  grid-template-columns:1.05fr 1.35fr 1.6fr!important;
  gap:10px!important;
}
.poster-page-foot div{padding:10px 12px!important;border-radius:14px!important;}
.poster-page-foot strong{font-size:.68rem!important;}
.poster-page-foot span{font-size:.74rem!important;line-height:1.25!important;}

@media(max-width:1400px){
  .poster-output-wrap{margin-inline:-18px!important;padding-inline:18px!important;}
}
@media(max-width:900px){
  .poster-page{
    transform:scale(.72)!important;
    transform-origin:top left!important;
    margin-bottom:-285px!important;
  }
}
@media(max-width:640px){
  .poster-page{
    transform:scale(.42)!important;
    margin-bottom:-625px!important;
  }
}
@media print{
  @page{size:13.5in 10.8in landscape;margin:0;}
  .poster-page{
    width:1350px!important;
    max-width:1350px!important;
    height:1080px!important;
    min-height:1080px!important;
    border-radius:0!important;
    margin:0!important;
    page-break-after:always!important;
    box-shadow:none!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* ===== White center package area override =====
   Makes the large blue background behind hotel photos/cards white,
   while keeping important action/status panels blue. */
body:not(.admin-body) .umrah-package-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  border-color:rgba(29,78,216,.18)!important;
}
body:not(.admin-body) .upc-topline,
body:not(.admin-body) .upc-main-grid,
body:not(.admin-body) .upc-services{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
}
body:not(.admin-body) .upc-hotel-card{
  background:#ffffff!important;
  border:1px solid rgba(15,47,104,.12)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.06)!important;
}
body:not(.admin-body) .upc-hotel-card h3,
body:not(.admin-body) .upc-hotel-card p,
body:not(.admin-body) .upc-hotel-card small,
body:not(.admin-body) .upc-hotel-card b,
body:not(.admin-body) .upc-hotel-card strong{
  color:#0f3f73!important;
  text-shadow:none!important;
}
body:not(.admin-body) .upc-hotel-card small{
  color:#c28a08!important;
}
body:not(.admin-body) .upc-hotel-card p{
  color:#475569!important;
}
body:not(.admin-body) .upc-hotel-card img,
body:not(.admin-body) .upc-hotel-placeholder{
  box-shadow:0 18px 36px rgba(15,23,42,.13)!important;
}
body:not(.admin-body) .upc-info-box,
body:not(.admin-body) .upc-flight-detail-box,
body:not(.admin-body) .upc-duration-box{
  background:linear-gradient(135deg,#ffffff 0%,#f6f9ff 62%,#eef7ff 100%)!important;
  border-color:rgba(29,78,216,.16)!important;
}
body:not(.admin-body) .upc-info-box *,
body:not(.admin-body) .upc-flight-detail-box *,
body:not(.admin-body) .upc-duration-box *{
  text-shadow:none!important;
}
body:not(.admin-body) .upc-services span{
  background:#ffffff!important;
  border-color:rgba(29,78,216,.18)!important;
  color:#0f3f73!important;
}
body:not(.admin-body) .upc-services strong{
  color:#0f3f73!important;
}

/* ===== Baby blue card theme override: remove heavy dark blue areas ===== */
body:not(.admin-body) .umrah-package-card::before,
body:not(.admin-body) .package-card::before,
body:not(.admin-body) .seat-card::before{
  background:linear-gradient(90deg,#e0f2fe 0%, #bae6fd 55%, #7dd3fc 100%)!important;
}

body:not(.admin-body) .upc-airline-panel,
body:not(.admin-body) .upc-code-box,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .package-card .btn,
body:not(.admin-body) .hotel-card .btn,
body:not(.admin-body) .seat-card .btn{
  background:linear-gradient(135deg,#e0f2fe 0%, #bae6fd 48%, #7dd3fc 100%)!important;
  color:#0f2f68!important;
  border-color:#93c5fd!important;
  box-shadow:0 14px 34px rgba(14,165,233,.18)!important;
}

body:not(.admin-body) .upc-airline-panel h4,
body:not(.admin-body) .upc-airline-panel *,
body:not(.admin-body) .upc-code-box strong,
body:not(.admin-body) .upc-code-box small,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-side *,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .seat-head *{
  color:#0f2f68!important;
}

body:not(.admin-body) .upc-airline-logo,
body:not(.admin-body) .poster-airline-mini{
  background:#ffffff!important;
  border-color:#bfdbfe!important;
}

body:not(.admin-body) .upc-route-chip,
body:not(.admin-body) .upc-available,
body:not(.admin-body) .upc-seats,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .seat-leg{
  border-color:#93c5fd!important;
  background:rgba(255,255,255,.55)!important;
}

body:not(.admin-body) .upc-route-chip b,
body:not(.admin-body) .upc-seats strong,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .api-source,
body:not(.admin-body) .package-card .price,
body:not(.admin-body) .hotel-card .price,
body:not(.admin-body) .upc-price-row strong,
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span{
  color:#0284c7!important;
}

body:not(.admin-body) .upc-price-row.best,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .upc-gifts,
body:not(.admin-body) .upc-services span,
body:not(.admin-body) .upc-info-box,
body:not(.admin-body) .upc-flight-card,
body:not(.admin-body) .upc-hotel-card{
  background:linear-gradient(135deg,#ffffff 0%, #f0f9ff 55%, #e0f2fe 100%)!important;
  border-color:#bfdbfe!important;
}

body:not(.admin-body) .upc-gifts b,
body:not(.admin-body) .upc-services strong,
body:not(.admin-body) .upc-price-row span,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .upc-info-box b,
body:not(.admin-body) .upc-info-box strong,
body:not(.admin-body) .upc-hotel-card h3,
body:not(.admin-body) .upc-hotel-card p{
  color:#0f2f68!important;
}

body:not(.admin-body) .upc-price-panel h4{
  color:#0f2f68!important;
  text-shadow:none!important;
}
body:not(.admin-body) .upc-book-btn:hover,
body:not(.admin-body) .package-card .btn:hover,
body:not(.admin-body) .hotel-card .btn:hover,
body:not(.admin-body) .seat-card .btn:hover{
  background:linear-gradient(135deg,#bae6fd 0%, #7dd3fc 100%)!important;
  color:#082f49!important;
}

/* ===== Bottle green card theme override ===== */
body:not(.admin-body) .umrah-package-card::before,
body:not(.admin-body) .package-card::before,
body:not(.admin-body) .seat-card::before{
  background:linear-gradient(90deg,#dff5ea 0%, #8bcfaf 55%, #2f7d5b 100%)!important;
}

body:not(.admin-body) .upc-airline-panel,
body:not(.admin-body) .upc-code-box,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .package-card .btn,
body:not(.admin-body) .hotel-card .btn,
body:not(.admin-body) .seat-card .btn{
  background:linear-gradient(135deg,#dff5ea 0%, #8bcfaf 45%, #2f7d5b 100%)!important;
  color:#0d3b2a!important;
  border-color:#63a985!important;
  box-shadow:0 14px 34px rgba(47,125,91,.18)!important;
}

body:not(.admin-body) .upc-airline-panel h4,
body:not(.admin-body) .upc-airline-panel *,
body:not(.admin-body) .upc-code-box strong,
body:not(.admin-body) .upc-code-box small,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-side *,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .seat-head *{
  color:#0d3b2a!important;
}

body:not(.admin-body) .upc-airline-logo,
body:not(.admin-body) .poster-airline-mini{
  background:#ffffff!important;
  border-color:#b8e0cc!important;
}

body:not(.admin-body) .upc-route-chip,
body:not(.admin-body) .upc-available,
body:not(.admin-body) .upc-seats,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .seat-leg{
  border-color:#8bcfaf!important;
  background:rgba(255,255,255,.55)!important;
}

body:not(.admin-body) .upc-route-chip b,
body:not(.admin-body) .upc-seats strong,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .api-source,
body:not(.admin-body) .package-card .price,
body:not(.admin-body) .hotel-card .price,
body:not(.admin-body) .upc-price-row strong,
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span{
  color:#1f6d4c!important;
}

body:not(.admin-body) .upc-price-row.best,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .upc-gifts,
body:not(.admin-body) .upc-services span,
body:not(.admin-body) .upc-info-box,
body:not(.admin-body) .upc-flight-card,
body:not(.admin-body) .upc-hotel-card{
  background:linear-gradient(135deg,#ffffff 0%, #f3fbf7 55%, #dff5ea 100%)!important;
  border-color:#b8e0cc!important;
}

body:not(.admin-body) .upc-gifts b,
body:not(.admin-body) .upc-services strong,
body:not(.admin-body) .upc-price-row span,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .upc-info-box b,
body:not(.admin-body) .upc-info-box strong,
body:not(.admin-body) .upc-hotel-card h3,
body:not(.admin-body) .upc-hotel-card p{
  color:#0d3b2a!important;
}

body:not(.admin-body) .upc-hotel-card small,
body:not(.admin-body) .upc-topline,
body:not(.admin-body) .upc-services .section-label,
body:not(.admin-body) .upc-price-row .best-tag{
  color:#9b6a14!important;
}

body:not(.admin-body) .upc-price-panel h4{
  color:#0d3b2a!important;
  text-shadow:none!important;
}
body:not(.admin-body) .upc-book-btn:hover,
body:not(.admin-body) .package-card .btn:hover,
body:not(.admin-body) .hotel-card .btn:hover,
body:not(.admin-body) .seat-card .btn:hover{
  background:linear-gradient(135deg,#b8e0cc 0%, #63a985 100%)!important;
  color:#08241a!important;
}

/* ===== Solid bottle green card theme: no gradients ===== */
body:not(.admin-body) .umrah-package-card::before,
body:not(.admin-body) .package-card::before,
body:not(.admin-body) .seat-card::before{
  background:#0f5132!important;
}

body:not(.admin-body) .upc-airline-panel,
body:not(.admin-body) .upc-code-box,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .package-card .btn,
body:not(.admin-body) .hotel-card .btn,
body:not(.admin-body) .seat-card .btn{
  background:#0f5132!important;
  color:#ffffff!important;
  border-color:#0f5132!important;
  box-shadow:0 14px 34px rgba(15,81,50,.18)!important;
}

body:not(.admin-body) .upc-airline-panel h4,
body:not(.admin-body) .upc-airline-panel *,
body:not(.admin-body) .upc-code-box strong,
body:not(.admin-body) .upc-code-box small,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-side *,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .seat-head *{
  color:#ffffff!important;
}

body:not(.admin-body) .upc-route-chip,
body:not(.admin-body) .upc-available,
body:not(.admin-body) .upc-seats,
body:not(.admin-body) .seat-low,
body:not(.admin-body) .seat-leg{
  border-color:rgba(255,255,255,.38)!important;
  background:rgba(255,255,255,.10)!important;
}

body:not(.admin-body) .upc-route-chip b,
body:not(.admin-body) .upc-seats strong{
  color:#d1fae5!important;
}

body:not(.admin-body) .upc-price-row.best,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .upc-gifts,
body:not(.admin-body) .upc-services span,
body:not(.admin-body) .upc-info-box,
body:not(.admin-body) .upc-flight-card,
body:not(.admin-body) .upc-hotel-card{
  background:#ffffff!important;
  border-color:#cfe3d8!important;
}

body:not(.admin-body) .upc-price-row strong,
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span,
body:not(.admin-body) .package-card .price,
body:not(.admin-body) .hotel-card .price,
body:not(.admin-body) .api-source{
  color:#0f5132!important;
}

body:not(.admin-body) .upc-gifts b,
body:not(.admin-body) .upc-services strong,
body:not(.admin-body) .upc-price-row span,
body:not(.admin-body) .package-card .meta span,
body:not(.admin-body) .hotel-card .city-tag,
body:not(.admin-body) .hotel-card .stars,
body:not(.admin-body) .upc-info-box b,
body:not(.admin-body) .upc-info-box strong,
body:not(.admin-body) .upc-hotel-card h3,
body:not(.admin-body) .upc-hotel-card p{
  color:#0f5132!important;
}

body:not(.admin-body) .upc-book-btn:hover,
body:not(.admin-body) .package-card .btn:hover,
body:not(.admin-body) .hotel-card .btn:hover,
body:not(.admin-body) .seat-card .btn:hover{
  background:#0b3d26!important;
  color:#ffffff!important;
}

/* ===== Final dashboard-theme polish: solid bottle green + clean package filters ===== */
:root{
  --theme-green:#0b5b43;
  --theme-green-dark:#074432;
  --theme-green-soft:#eaf6f1;
  --theme-green-border:#b9dacd;
}

body:not(.admin-body) .listing-search{
  display:grid!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(120px,.55fr) minmax(145px,.65fr) minmax(150px,.7fr) minmax(190px,.9fr) auto!important;
  gap:10px!important;
  align-items:end!important;
  background:#ffffff!important;
  border:1px solid var(--theme-green-border)!important;
  border-radius:22px!important;
  padding:14px!important;
  box-shadow:0 18px 48px rgba(7,68,50,.08)!important;
}
body:not(.admin-body) .listing-search-field{min-width:0!important;}
body:not(.admin-body) .listing-search-field label{
  color:#243b35!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body:not(.admin-body) .listing-search input,
body:not(.admin-body) .listing-search select{
  width:100%!important;
  min-height:42px!important;
  border:1px solid var(--theme-green-border)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  color:#0f172a!important;
  font-weight:800!important;
  box-shadow:none!important;
}
body:not(.admin-body) .listing-search input::placeholder{color:#64748b!important;opacity:1!important;}
body:not(.admin-body) .listing-search input:focus,
body:not(.admin-body) .listing-search select:focus{
  border-color:var(--theme-green)!important;
  box-shadow:0 0 0 3px rgba(11,91,67,.12)!important;
}
body:not(.admin-body) .listing-search .btn-primary,
body:not(.admin-body) .listing-search button[type="submit"]{
  min-height:42px!important;
  background:var(--theme-green)!important;
  border-color:var(--theme-green)!important;
  color:#ffffff!important;
  box-shadow:0 14px 32px rgba(11,91,67,.18)!important;
}
body:not(.admin-body) .listing-search .btn-primary:hover,
body:not(.admin-body) .listing-search button[type="submit"]:hover{
  background:var(--theme-green-dark)!important;
  color:#ffffff!important;
}
body:not(.admin-body) .listing-search .btn-ghost{
  grid-column:1 / 2!important;
  width:100%!important;
  min-height:42px!important;
  background:#ffffff!important;
  border:1px solid var(--theme-green-border)!important;
  color:#0f172a!important;
  box-shadow:none!important;
}
body:not(.admin-body) .nearest-sort-note{
  grid-column:1 / -1!important;
  background:var(--theme-green-soft)!important;
  border:1px solid var(--theme-green-border)!important;
  color:#243b35!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  font-weight:800!important;
}
body:not(.admin-body) .search-context{
  background:#ffffff!important;
  border-color:var(--theme-green-border)!important;
  color:#243b35!important;
}
body:not(.admin-body) .search-context-tag,
body:not(.admin-body) .search-context-clear{
  border-color:var(--theme-green-border)!important;
  background:var(--theme-green-soft)!important;
  color:var(--theme-green-dark)!important;
}

/* keep all main card accents solid bottle green, no gradients */
body:not(.admin-body) .upc-airline-panel,
body:not(.admin-body) .upc-code-box,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) .seat-side,
body:not(.admin-body) .seat-head,
body:not(.admin-body) .package-card .btn,
body:not(.admin-body) .hotel-card .btn,
body:not(.admin-body) .seat-card .btn{
  background:var(--theme-green)!important;
  background-image:none!important;
  color:#ffffff!important;
  border-color:var(--theme-green)!important;
}
body:not(.admin-body) .upc-airline-panel *,
body:not(.admin-body) .upc-code-box *,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn{
  color:#ffffff!important;
}
body:not(.admin-body) .upc-book-btn:hover,
body:not(.admin-body) .package-card .btn:hover,
body:not(.admin-body) .hotel-card .btn:hover,
body:not(.admin-body) .seat-card .btn:hover{
  background:var(--theme-green-dark)!important;
  color:#ffffff!important;
}
body:not(.admin-body) .umrah-package-card::before,
body:not(.admin-body) .package-card::before,
body:not(.admin-body) .seat-card::before{
  background:var(--theme-green)!important;
  background-image:none!important;
}
body:not(.admin-body) .upc-price-row strong,
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span,
body:not(.admin-body) .package-card .price,
body:not(.admin-body) .hotel-card .price{
  color:var(--theme-green)!important;
}

@media(max-width:1100px){
  body:not(.admin-body) .listing-search{
    grid-template-columns:1fr 1fr!important;
  }
  body:not(.admin-body) .listing-search .btn-primary,
  body:not(.admin-body) .listing-search button[type="submit"],
  body:not(.admin-body) .listing-search .btn-ghost{
    grid-column:auto!important;
  }
}
@media(max-width:640px){
  body:not(.admin-body) .listing-search{
    grid-template-columns:1fr!important;
    padding:12px!important;
    gap:9px!important;
  }
  body:not(.admin-body) .listing-search .btn-primary,
  body:not(.admin-body) .listing-search button[type="submit"],
  body:not(.admin-body) .listing-search .btn-ghost{
    width:100%!important;
    grid-column:1 / -1!important;
  }
}

/* ===== Card-only color theme — keep hero/search/top bars unchanged =====
   This block intentionally targets package cards only. It does NOT modify
   navbar, page intro, hero, search/filter bar, footer, or admin sidebar. */
body:not(.admin-body) .umrah-package-card{
  background:#ffffff!important;
  border-color:rgba(9,54,41,.18)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.10)!important;
}
body:not(.admin-body) .umrah-package-card::before{
  background:#0b3d2e!important;
}
body:not(.admin-body) .upc-topline,
body:not(.admin-body) .upc-main-grid,
body:not(.admin-body) .upc-services{
  background:#ffffff!important;
}
body:not(.admin-body) .upc-airline-panel,
body:not(.admin-body) .upc-code-box,
body:not(.admin-body) .upc-price-panel h4,
body:not(.admin-body) .upc-book-btn{
  background:#0b3d2e!important;
  color:#ffffff!important;
  border-color:#0b3d2e!important;
  box-shadow:0 16px 34px rgba(11,61,46,.20)!important;
}
body:not(.admin-body) .upc-airline-panel *,
body:not(.admin-body) .upc-code-box *,
body:not(.admin-body) .upc-price-panel h4 *,
body:not(.admin-body) .upc-book-btn *{
  color:#ffffff!important;
}
body:not(.admin-body) .upc-airline-logo{
  background:#ffffff!important;
  border-color:rgba(11,61,46,.18)!important;
}
body:not(.admin-body) .upc-route-chip,
body:not(.admin-body) .upc-available,
body:not(.admin-body) .upc-seats{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.32)!important;
  color:#ffffff!important;
}
body:not(.admin-body) .upc-route-chip *,
body:not(.admin-body) .upc-available *,
body:not(.admin-body) .upc-seats *{
  color:#ffffff!important;
}
body:not(.admin-body) .upc-info-box,
body:not(.admin-body) .upc-flight-detail-box,
body:not(.admin-body) .upc-duration-box,
body:not(.admin-body) .upc-flight-card,
body:not(.admin-body) .upc-hotel-card,
body:not(.admin-body) .upc-price-panel,
body:not(.admin-body) .upc-gifts,
body:not(.admin-body) .upc-services span{
  background:#ffffff!important;
  border-color:rgba(11,61,46,.14)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.06)!important;
}
body:not(.admin-body) .upc-info-box *,
body:not(.admin-body) .upc-flight-detail-box *,
body:not(.admin-body) .upc-duration-box *,
body:not(.admin-body) .upc-flight-card *,
body:not(.admin-body) .upc-hotel-card *,
body:not(.admin-body) .upc-price-panel *,
body:not(.admin-body) .upc-gifts *,
body:not(.admin-body) .upc-services span *{
  color:#0f172a!important;
  text-shadow:none!important;
}
body:not(.admin-body) .upc-hotel-card h3,
body:not(.admin-body) .upc-price-row strong,
body:not(.admin-body) .upc-links a,
body:not(.admin-body) .upc-links span,
body:not(.admin-body) .upc-gifts b,
body:not(.admin-body) .upc-services strong{
  color:#0b3d2e!important;
}
body:not(.admin-body) .upc-hotel-card small,
body:not(.admin-body) .upc-topline,
body:not(.admin-body) .upc-price-row .best-tag{
  color:#b8871b!important;
}
body:not(.admin-body) .upc-price-row.best{
  background:#f7fbf8!important;
}
body:not(.admin-body) .upc-book-btn:hover{
  background:#082f23!important;
  color:#ffffff!important;
}


/* ===== Admin dashboard API inventory + image editor ===== */
.api-dashboard-panel{
  margin:24px 0;
}
.api-dashboard-head{
  align-items:flex-start;
}
.api-dashboard-head p{
  margin:6px 0 0;
  max-width:760px;
  color:#64748b!important;
}
.api-dashboard-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.inline-form{
  display:inline-flex;
  margin:0;
}
.api-dashboard-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:12px;
  margin:16px 0 20px;
}
.api-dashboard-stats div{
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.api-dashboard-stats strong{
  display:block;
  color:#0f172a!important;
  font-size:1.35rem;
  line-height:1;
}
.api-dashboard-stats span{
  display:block;
  color:#64748b!important;
  font-size:.82rem;
  font-weight:800;
  margin-top:6px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.api-dashboard-tabs{
  display:grid;
  gap:18px;
}
.api-dashboard-block{
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:20px;
  padding:18px;
}
.api-block-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.api-block-title h4{
  margin:0;
  color:#0f172a!important;
  font-size:1.05rem;
}
.api-package-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.api-admin-package-card{
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 12px 26px rgba(15,23,42,.04);
}
.api-admin-package-top{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.api-admin-thumb{
  width:76px;
  height:76px;
  border-radius:16px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eef2f7;
  color:#0f513f;
  border:1px solid rgba(15,23,42,.08);
}
.api-admin-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.api-admin-package-top strong{
  display:block;
  color:#0f172a!important;
  line-height:1.25;
}
.api-admin-package-top span,
.api-admin-package-top small,
.api-admin-hotels span,
.api-image-editor small{
  display:block;
  color:#475569!important;
  line-height:1.35;
}
.api-admin-package-top small{
  margin-top:3px;
}
.api-admin-hotels{
  display:grid;
  gap:5px;
  margin:12px 0;
  padding:10px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
}
.api-admin-hotels b{
  color:#0f513f!important;
}
.api-image-editor{
  border:1px dashed rgba(15,81,63,.28);
  border-radius:14px;
  padding:10px 12px;
  background:#fbfffd;
}
.api-image-editor summary{
  cursor:pointer;
  color:#0f513f!important;
  font-weight:900;
}
.api-image-row{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.api-image-row label{
  color:#0f172a!important;
  font-weight:800;
  font-size:.84rem;
}
.api-image-row .input{
  min-height:40px;
  color:#0f172a!important;
  background:#fff!important;
}
.btn-xs{
  min-height:34px;
  padding:7px 12px!important;
  font-size:.78rem!important;
}
.api-mini-table td,
.api-mini-table th{
  color:#0f172a!important;
}
.api-mini-table .muted-small{
  color:#64748b!important;
}

@media(max-width:980px){
  .api-dashboard-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .api-package-admin-grid{
    grid-template-columns:1fr;
  }
  .api-image-row{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .api-dashboard-stats{
    grid-template-columns:1fr;
  }
  .api-dashboard-actions{
    width:100%;
  }
  .api-dashboard-actions .btn,
  .api-dashboard-actions form{
    width:100%;
  }
  .api-dashboard-actions .btn{
    justify-content:center;
  }
}

/* ===== Admin API package hotels editor ===== */
.api-package-hotels-panel{
  margin:0 0 24px;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}
.api-hotels-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.api-hotels-head h3{margin:0 0 6px;color:#0f172a;font-size:1.12rem;}
.api-hotels-head p{margin:0;color:#536173;line-height:1.45;max-width:760px;font-weight:600;}
.api-hotels-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:#0a5b46;
  color:#fff;
  font-weight:900;
  font-size:.82rem;
  white-space:nowrap;
}
.api-hotels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.api-hotel-edit-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  background:#f8fafc;
  border:1px solid rgba(10,91,70,.14);
  border-radius:18px;
  padding:12px;
}
.api-hotel-preview{
  min-height:142px;
  border-radius:15px;
  overflow:hidden;
  background:#eaf3ef;
  border:1px solid rgba(10,91,70,.16);
  display:grid;
  place-items:center;
  color:#0a5b46;
  font-weight:900;
}
.api-hotel-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.api-hotel-edit-body{min-width:0;display:grid;gap:8px;align-content:start;}
.api-hotel-meta{display:flex;gap:7px;flex-wrap:wrap;}
.api-hotel-meta span{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(10,91,70,.13);
  color:#0a5b46;
  font-size:.72rem;
  font-weight:900;
}
.api-hotel-edit-body h4{margin:0;color:#0f172a;font-size:1rem;line-height:1.25;}
.api-hotel-edit-body p{margin:0;color:#536173;font-size:.84rem;line-height:1.4;font-weight:600;}
.api-hotel-image-form{display:grid;gap:7px;margin-top:4px;}
.api-hotel-image-form label{font-size:.76rem;font-weight:900;color:#0f172a;text-transform:uppercase;letter-spacing:.04em;}
.api-hotel-image-form small{color:#64748b;font-size:.76rem;line-height:1.35;font-weight:600;}
.api-hotel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
@media(max-width:980px){.api-hotels-grid{grid-template-columns:1fr;}}
@media(max-width:560px){
  .api-hotel-edit-card{grid-template-columns:1fr;}
  .api-hotel-preview{height:170px;}
}

/* ===== Admin detail / printable booking sheets ===== */
.admin-detail-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.print-sheet{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:24px;box-shadow:0 18px 48px rgba(15,23,42,.06);color:#10201a;}
.print-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid rgba(15,23,42,.09);padding-bottom:18px;margin-bottom:18px;}
.print-head h1{margin:4px 0 4px;font-size:1.75rem;color:#10201a;}
.print-head p{margin:0;color:#64748b;}
.print-status{padding:8px 13px;border-radius:999px;font-weight:800;text-transform:capitalize;}
.detail-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;}
.detail-card{background:#fbfdfb;border:1px solid rgba(20,83,45,.12);border-radius:18px;padding:18px;margin-bottom:16px;break-inside:avoid;}
.detail-card h3{margin:0 0 14px;color:#123c2a;font-size:1.04rem;}
.detail-lines{display:grid;gap:10px;}
.detail-lines div,.selected-items-grid div{display:grid;gap:4px;min-width:0;}
.detail-lines strong,.selected-items-grid strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#8b6b28;}
.detail-lines span,.selected-items-grid span{color:#10201a;word-break:break-word;line-height:1.4;}
.selected-items-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.detail-status-form{display:grid;gap:10px;}
.detail-note-box{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px;line-height:1.6;color:#10201a;white-space:normal;}
.print-foot{border-top:1px solid rgba(15,23,42,.08);padding-top:12px;margin-top:12px;color:#64748b;font-size:.84rem;}
.print-only{display:none;}
.print-table-wrap{overflow-x:auto;}
.print-table{background:#fff;}

/* ===== Poster size + PNG export repair ===== */
.poster-format-options{grid-template-columns:repeat(2,minmax(0,1fr));}
.poster-page.poster-format-landscape{width:1350px!important;max-width:100%;height:1080px!important;min-height:1080px!important;}
.poster-page.poster-format-instagram{width:1080px!important;max-width:100%;height:1350px!important;min-height:1350px!important;}
.poster-page.poster-format-instagram .poster-card-list{grid-template-columns:1fr!important;gap:12px!important;}
.poster-page.poster-format-instagram .poster-package-card{grid-template-columns:132px minmax(0,1fr) 190px!important;min-height:245px;}
.poster-page.poster-format-instagram .poster-page-head{grid-template-columns:1fr auto!important;}
.poster-page.poster-format-instagram .poster-page-brand h1{font-size:2.15rem;}
.poster-page.poster-format-instagram .poster-page-foot{grid-template-columns:repeat(3,minmax(0,1fr));}

/* Keep hotel/package print clean */
.print-hotels-only .admin-top,.print-hotels-only .admin-side,.print-hotels-only .form-wrap,.print-hotels-only .no-print{display:none!important;}
.print-hotels-only .admin-wrap,.print-hotels-only .admin-main{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
.print-hotels-only .printable-hotels-section{display:block!important;box-shadow:none!important;border:0!important;}

@media(max-width:900px){
  .detail-grid-2,.selected-items-grid{grid-template-columns:1fr;}
  .print-head{flex-direction:column;}
}
@media print{
  body{background:#fff!important;}
  .admin-top,.admin-side,.no-print{display:none!important;}
  .admin-wrap,.admin-main{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
  .print-sheet{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;}
  .detail-card{background:#fff!important;border-color:#d7dfda!important;page-break-inside:avoid;}
  .print-only{display:block!important;}
  .print-head h1{font-size:24px!important;}
  .selected-items-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .poster-page.poster-format-landscape{width:1350px!important;height:1080px!important;min-height:1080px!important;max-width:1350px!important;}
  .poster-page.poster-format-instagram{width:1080px!important;height:1350px!important;min-height:1350px!important;max-width:1080px!important;}
}


/* ===== Booking CRM module ===== */
.crm-page-head,.crm-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px;}
.crm-head-actions{display:flex;gap:10px;flex-wrap:wrap;}
.crm-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0;}
.crm-stat-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.05);}
.crm-stat-card strong{display:block;font-size:1.45rem;color:#0f2f24;}
.crm-stat-card span{display:block;color:#64748b;font-size:.84rem;font-weight:700;margin-top:2px;}
.crm-filter-card{display:grid;grid-template-columns:minmax(220px,1fr) 220px 190px auto;gap:12px;align-items:end;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:16px;margin-bottom:18px;box-shadow:0 12px 32px rgba(15,23,42,.04);}
.crm-table-card,.crm-panel{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 16px 42px rgba(15,23,42,.05);}
.crm-table-card{overflow:hidden;}
.crm-table td{vertical-align:top;}
.crm-type-pill,.crm-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:800;border:1px solid rgba(15,47,36,.14);}
.crm-type-pill{background:#f8fafc;color:#0f2f24;}
.crm-status-pill{background:#f3fbf7;color:#0f5132;}
.crm-status-confirmed,.crm-status-completed,.crm-status-ticket_issued,.crm-status-hotel_confirmed{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.crm-status-cancelled{background:#fef2f2;color:#991b1b;border-color:#fecaca;}
.crm-status-documents_pending,.crm-status-details_pending{background:#fffbeb;color:#92400e;border-color:#fde68a;}
.crm-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:18px;align-items:start;}
.crm-panel{padding:18px;}
.crm-panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.crm-panel-title h3{margin:0;color:#0f172a;font-size:1.05rem;}
.crm-panel-title span{color:#9b6a14;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:800;}
.crm-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.crm-summary-grid div,.crm-selected-item{background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:14px;padding:12px;}
.crm-summary-grid strong{display:block;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.crm-summary-grid span{display:block;color:#0f172a;font-weight:800;word-break:break-word;}
.crm-selected-item{margin-top:12px;}
.crm-selected-item strong{color:#0f2f24;}
.crm-selected-item p{margin:6px 0 0;color:#475569;}
.crm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;}
.crm-full{grid-column:1/-1;}
.crm-traveller-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:18px;align-items:start;}
.crm-traveller-form{background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:14px;}
.crm-traveller-list{display:grid;gap:10px;}
.crm-traveller-card{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px;}
.crm-traveller-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;}
.crm-traveller-card summary strong{color:#0f172a;}
.crm-traveller-card summary span{color:#64748b;font-size:.84rem;}
.crm-empty{padding:18px;text-align:center;color:#64748b;background:#f8fafc;border-radius:14px;border:1px dashed rgba(15,23,42,.15);}
.crm-doc-list,.crm-timeline{display:grid;gap:10px;margin-top:14px;}
.crm-doc-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:14px;padding:12px;}
.crm-doc-row strong,.crm-doc-row span,.crm-doc-row small{display:block;}
.crm-doc-row strong{color:#0f172a;}
.crm-doc-row span{color:#64748b;font-size:.86rem;}
.crm-doc-row small{color:#475569;margin-top:3px;}
.crm-timeline-item{border-left:3px solid #0f5132;background:#f8fafc;border-radius:0 14px 14px 0;padding:10px 12px;}
.crm-timeline-item.muted{border-left-color:#cbd5e1;}
.crm-timeline-item strong{display:block;color:#0f172a;}
.crm-timeline-item strong span{color:#64748b;font-weight:600;font-size:.82rem;}
.crm-timeline-item p{margin:6px 0;color:#475569;}
.crm-timeline-item small{color:#64748b;}
.crm-print-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 14px;}
.crm-print-sheet{background:#fff;color:#111;padding:20px;max-width:1080px;margin:0 auto;}
.crm-print-head{display:flex;justify-content:space-between;gap:18px;border-bottom:3px solid #0f5132;padding-bottom:16px;margin-bottom:18px;}
.crm-print-head h1{margin:0;color:#0f2f24;}
.crm-print-head p{margin:4px 0 0;color:#475569;}
.crm-print-head div:last-child{text-align:right;display:grid;gap:4px;}
.crm-print-head strong{font-size:1.1rem;color:#0f172a;}
.crm-print-section{border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin-bottom:14px;break-inside:avoid;}
.crm-print-section h2{font-size:1rem;margin:0 0 10px;color:#0f5132;}
.crm-print-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.crm-print-grid div,.crm-print-item{background:#f8fafc;border-radius:10px;padding:9px;}
.crm-print-grid strong,.crm-print-item strong{display:block;font-size:.72rem;text-transform:uppercase;color:#64748b;margin-bottom:3px;}
.crm-print-grid span,.crm-print-item p{margin:0;font-weight:800;color:#111827;}
.crm-print-table{width:100%;border-collapse:collapse;font-size:.88rem;}
.crm-print-table th,.crm-print-table td{border:1px solid #e2e8f0;padding:7px;text-align:left;vertical-align:top;}
.crm-print-table th{background:#f8fafc;color:#0f5132;}
.crm-print-note{border-left:3px solid #0f5132;background:#f8fafc;padding:8px 10px;margin-bottom:8px;}
.crm-print-note p{margin:5px 0;color:#334155;}
.crm-print-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding-top:12px;color:#475569;font-size:.85rem;}
@media(max-width:1100px){.crm-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.crm-filter-card,.crm-detail-grid,.crm-traveller-layout{grid-template-columns:1fr;}.crm-summary-grid,.crm-print-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.crm-stats-grid,.crm-summary-grid,.crm-form-grid,.form-grid.cols-3,.crm-print-grid{grid-template-columns:1fr!important;}.crm-filter-card{grid-template-columns:1fr;}.crm-doc-row,.crm-print-head,.crm-print-foot{display:block;}.crm-traveller-card summary{display:block;}}
@media print{.admin-top,.admin-side,.no-print{display:none!important}.admin-wrap,.admin-main{display:block!important;margin:0!important;padding:0!important}.crm-print-sheet{max-width:none!important;padding:0!important}.crm-print-section{page-break-inside:avoid}.crm-print-head{margin-top:0}.crm-panel,.crm-table-card{box-shadow:none!important}}

/* ===== Final readability rescue: CRM print + Booking.com style mobile cards ===== */
.crm-print-sheet{
  background:#fff!important;
  color:#0f172a!important;
  font-family:Arial, Helvetica, sans-serif!important;
  line-height:1.45!important;
}
.crm-print-head{
  background:#0f2f24!important;
  color:#fff!important;
  border:0!important;
  border-radius:18px!important;
  padding:18px 20px!important;
  margin-bottom:18px!important;
  align-items:center!important;
}
.crm-print-head h1,
.crm-print-head p,
.crm-print-head strong,
.crm-print-head span,
.crm-print-head small{
  color:#fff!important;
}
.crm-print-head p{opacity:.88!important;}
.crm-print-head div:last-child span{
  background:#d9b765!important;
  color:#10201a!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-weight:900!important;
  display:inline-block!important;
}
.crm-print-section{
  border:1px solid #cfd8d2!important;
  border-radius:18px!important;
  padding:16px!important;
  margin-bottom:16px!important;
  background:#fff!important;
  color:#10201a!important;
}
.crm-print-section h2{
  color:#0f2f24!important;
  font-size:18px!important;
  line-height:1.2!important;
  border-bottom:2px solid #e9efe8!important;
  padding-bottom:8px!important;
  margin-bottom:12px!important;
}
.crm-print-grid{gap:10px!important;}
.crm-print-grid div,
.crm-print-item,
.crm-print-note,
.crm-print-traveller-card{
  background:#f8fbf9!important;
  border:1px solid #dce7df!important;
  border-radius:14px!important;
  color:#10201a!important;
}
.crm-print-grid div{padding:11px!important;}
.crm-print-grid strong,
.crm-print-item strong,
.crm-print-mini-grid b{
  color:#6b7280!important;
  font-size:11px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
.crm-print-grid span,
.crm-print-item p,
.crm-print-mini-grid span{
  color:#0f172a!important;
  font-weight:800!important;
  font-size:14px!important;
  line-height:1.35!important;
  word-break:break-word!important;
}
.crm-print-item small,
.crm-print-muted{
  color:#475569!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.crm-print-travellers{display:grid!important;gap:12px!important;}
.crm-print-traveller-card{padding:14px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.crm-print-traveller-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:10px!important;}
.crm-print-traveller-title strong{color:#0f2f24!important;font-size:16px!important;}
.crm-print-traveller-title span{background:#d9b765!important;color:#10201a!important;border-radius:999px!important;padding:5px 10px!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;}
.crm-print-mini-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
.crm-print-mini-grid div{background:#fff!important;border:1px solid #e5ece7!important;border-radius:10px!important;padding:9px!important;}
.crm-print-mini-grid b,.crm-print-mini-grid span{display:block!important;}
.crm-print-traveller-note{margin-top:10px!important;background:#fff!important;border:1px solid #e5ece7!important;border-radius:10px!important;padding:10px!important;color:#334155!important;}
.crm-print-checklist{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:10px!important;}
.crm-print-checklist div{display:flex!important;align-items:center!important;gap:10px!important;background:#f8fbf9!important;border:1px solid #dce7df!important;border-radius:12px!important;padding:10px!important;color:#0f172a!important;}
.crm-print-checklist span{width:18px!important;height:18px!important;border:2px solid #0f2f24!important;border-radius:4px!important;background:#fff!important;flex:0 0 auto!important;}
.crm-print-checklist strong{font-size:13px!important;color:#0f172a!important;}
.crm-print-foot{color:#334155!important;border-top:2px solid #e2e8f0!important;font-weight:700!important;}

@media print{
  @page{size:A4 portrait;margin:10mm;}
  body{background:#fff!important;color:#0f172a!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  .admin-top,.admin-side,.no-print{display:none!important;}
  .admin-wrap,.admin-main{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;}
  .crm-print-sheet{max-width:none!important;width:100%!important;padding:0!important;margin:0!important;font-size:12px!important;}
  .crm-print-head{border-radius:0!important;padding:12px 14px!important;margin-bottom:12px!important;}
  .crm-print-head h1{font-size:22px!important;}
  .crm-print-head p{font-size:12px!important;}
  .crm-print-section{padding:10px!important;margin-bottom:10px!important;border-radius:10px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .crm-print-section h2{font-size:15px!important;margin-bottom:8px!important;}
  .crm-print-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;}
  .crm-print-grid div{padding:7px!important;}
  .crm-print-grid strong,.crm-print-item strong,.crm-print-mini-grid b{font-size:9px!important;}
  .crm-print-grid span,.crm-print-item p,.crm-print-mini-grid span{font-size:11px!important;}
  .crm-print-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;}
  .crm-print-mini-grid div{padding:7px!important;}
  .crm-print-traveller-card{padding:9px!important;margin:0!important;}
  .crm-print-traveller-title{margin-bottom:6px!important;}
  .crm-print-traveller-title strong{font-size:13px!important;}
  .crm-print-traveller-title span{font-size:9px!important;padding:3px 7px!important;}
  .crm-print-checklist{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
  .crm-print-checklist div{padding:7px!important;}
  .crm-print-note{padding:7px!important;margin-bottom:6px!important;}
}

@media(max-width:760px){
  body:not(.admin-body) .packages-grid,
  body:not(.admin-body) .hotels-grid,
  body:not(.admin-body) .seats-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body:not(.admin-body) .umrah-package-card,
  body:not(.admin-body) .package-card,
  body:not(.admin-body) .hotel-card,
  body:not(.admin-body) .seat-card{
    width:100%!important;
    max-width:100%!important;
    border-radius:16px!important;
    border:1px solid #d7e2dc!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
  }
  body:not(.admin-body) .umrah-package-card::before,
  body:not(.admin-body) .package-card::before,
  body:not(.admin-body) .hotel-card::before,
  body:not(.admin-body) .seat-card::before{
    display:none!important;
  }
  body:not(.admin-body) .upc-main-grid,
  body:not(.admin-body) .upc-content-grid,
  body:not(.admin-body) .upc-hotel-grid,
  body:not(.admin-body) .upc-flight-details,
  body:not(.admin-body) .upc-services,
  body:not(.admin-body) .upc-price-grid,
  body:not(.admin-body) .package-card,
  body:not(.admin-body) .hotel-card{
    grid-template-columns:1fr!important;
  }
  body:not(.admin-body) .upc-airline-panel,
  body:not(.admin-body) .upc-code-box,
  body:not(.admin-body) .upc-price-panel h4,
  body:not(.admin-body) .upc-book-btn{
    border-radius:0!important;
  }
  body:not(.admin-body) .upc-topline,
  body:not(.admin-body) .upc-title-wrap,
  body:not(.admin-body) .upc-main-grid,
  body:not(.admin-body) .upc-services,
  body:not(.admin-body) .upc-gifts,
  body:not(.admin-body) .upc-links,
  body:not(.admin-body) .upc-price-panel,
  body:not(.admin-body) .upc-hotel-card,
  body:not(.admin-body) .upc-flight-card,
  body:not(.admin-body) .upc-info-box{
    margin:0!important;
  }
  body:not(.admin-body) .upc-title-wrap,
  body:not(.admin-body) .upc-topline,
  body:not(.admin-body) .upc-main-grid,
  body:not(.admin-body) .upc-services,
  body:not(.admin-body) .upc-gifts,
  body:not(.admin-body) .upc-links,
  body:not(.admin-body) .upc-price-panel{
    padding:12px!important;
  }
  body:not(.admin-body) .upc-title-wrap h2,
  body:not(.admin-body) .package-card h3,
  body:not(.admin-body) .hotel-card h3,
  body:not(.admin-body) .seat-card h3{
    font-size:18px!important;
    line-height:1.25!important;
    color:#0f172a!important;
    margin:0!important;
  }
  body:not(.admin-body) .upc-topline{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    align-items:center!important;
  }
  body:not(.admin-body) .upc-premium,
  body:not(.admin-body) .upc-status,
  body:not(.admin-body) .upc-ref,
  body:not(.admin-body) .package-card .meta span,
  body:not(.admin-body) .hotel-card .city-tag{
    display:inline-flex!important;
    width:auto!important;
    border-radius:999px!important;
    padding:5px 9px!important;
    font-size:11px!important;
    font-weight:900!important;
    background:#f6f9f7!important;
    border:1px solid #d7e2dc!important;
    color:#0f2f24!important;
  }
  body:not(.admin-body) .upc-airline-panel,
  body:not(.admin-body) .upc-code-box{
    background:#0f2f24!important;
    color:#fff!important;
    padding:12px!important;
  }
  body:not(.admin-body) .upc-airline-panel *,
  body:not(.admin-body) .upc-code-box *{color:#fff!important;}
  body:not(.admin-body) .upc-route-chip,
  body:not(.admin-body) .upc-available,
  body:not(.admin-body) .upc-seats{
    background:rgba(255,255,255,.10)!important;
    border-color:rgba(255,255,255,.22)!important;
    border-radius:12px!important;
  }
  body:not(.admin-body) .upc-hotel-card,
  body:not(.admin-body) .upc-flight-card,
  body:not(.admin-body) .upc-info-box,
  body:not(.admin-body) .upc-gifts,
  body:not(.admin-body) .upc-services span{
    background:#fff!important;
    border:1px solid #e5ece7!important;
    border-radius:14px!important;
    padding:10px!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .upc-hotel-card img,
  body:not(.admin-body) .package-card .media img,
  body:not(.admin-body) .hotel-card .media img{
    width:100%!important;
    height:180px!important;
    object-fit:cover!important;
    border-radius:12px!important;
  }
  body:not(.admin-body) .upc-price-panel{
    border-top:1px solid #e5ece7!important;
    background:#fbfdfb!important;
  }
  body:not(.admin-body) .upc-price-panel h4{
    background:#0f2f24!important;
    color:#fff!important;
    border-radius:12px!important;
    padding:10px 12px!important;
    margin:0 0 8px!important;
  }
  body:not(.admin-body) .upc-price-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    background:#fff!important;
    border:1px solid #e5ece7!important;
    border-radius:12px!important;
    padding:9px 10px!important;
    margin-bottom:7px!important;
  }
  body:not(.admin-body) .upc-price-row span,
  body:not(.admin-body) .upc-price-row strong{color:#0f172a!important;}
  body:not(.admin-body) .upc-book-btn,
  body:not(.admin-body) .package-card .btn,
  body:not(.admin-body) .hotel-card .btn,
  body:not(.admin-body) .seat-card .btn{
    width:100%!important;
    min-height:44px!important;
    border-radius:12px!important;
    background:#0f2f24!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:900!important;
  }
  body:not(.admin-body) .package-card .media,
  body:not(.admin-body) .hotel-card .media{
    height:190px!important;
    border-radius:0!important;
  }
  body:not(.admin-body) .package-card > :not(.media),
  body:not(.admin-body) .hotel-card > :not(.media){
    padding:12px!important;
  }
}

@media(max-width:520px){
  .crm-print-head,.crm-print-foot{display:block!important;text-align:left!important;}
  .crm-print-head div:last-child{text-align:left!important;margin-top:10px!important;justify-items:start!important;}
  .crm-print-grid,.crm-print-mini-grid,.crm-print-checklist{grid-template-columns:1fr!important;}
  body:not(.admin-body) .upc-hotel-card img,
  body:not(.admin-body) .package-card .media img,
  body:not(.admin-body) .hotel-card .media img{height:160px!important;}
}

/* ===== CRM print itinerary upgrade ===== */
.crm-itinerary-section,
.crm-hotel-section{
  background:#fff!important;
}
.crm-itinerary-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  background:#0f2f24!important;
  border-radius:16px!important;
  padding:16px!important;
  margin-bottom:12px!important;
  color:#fff!important;
}
.crm-itinerary-hero strong{
  display:block!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.18!important;
  margin-bottom:6px!important;
}
.crm-itinerary-hero span{
  display:inline-flex!important;
  background:#d9b765!important;
  color:#10201a!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.crm-itinerary-hero b{
  display:block!important;
  color:#fff!important;
  font-size:22px!important;
  text-align:right!important;
}
.crm-itinerary-hero small{
  display:block!important;
  color:#eef7f0!important;
  font-weight:800!important;
  text-align:right!important;
  margin-top:3px!important;
}
.crm-itinerary-grid,
.crm-hotel-print-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.crm-hotel-print-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.crm-itinerary-grid div,
.crm-hotel-print-grid div{
  background:#f8fbf9!important;
  border:1px solid #dce7df!important;
  border-radius:14px!important;
  padding:12px!important;
  color:#10201a!important;
}
.crm-itinerary-grid strong,
.crm-hotel-print-grid strong{
  display:block!important;
  color:#64746c!important;
  font-size:11px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  margin-bottom:5px!important;
}
.crm-itinerary-grid span,
.crm-hotel-print-grid span{
  display:block!important;
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:900!important;
  word-break:break-word!important;
}
.crm-service-note{margin-top:12px!important;}
.crm-service-note p{font-weight:700!important;color:#334155!important;}
@media(max-width:760px){
  .crm-itinerary-hero{grid-template-columns:1fr!important;}
  .crm-itinerary-hero b,.crm-itinerary-hero small{text-align:left!important;}
  .crm-itinerary-grid,.crm-hotel-print-grid{grid-template-columns:1fr!important;}
}
@media print{
  .crm-itinerary-hero{padding:10px 12px!important;border-radius:8px!important;margin-bottom:8px!important;}
  .crm-itinerary-hero strong{font-size:17px!important;}
  .crm-itinerary-hero b{font-size:17px!important;}
  .crm-itinerary-hero span,.crm-itinerary-hero small{font-size:10px!important;}
  .crm-itinerary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;}
  .crm-hotel-print-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
  .crm-itinerary-grid div,.crm-hotel-print-grid div{padding:7px!important;border-radius:8px!important;}
  .crm-itinerary-grid strong,.crm-hotel-print-grid strong{font-size:8.5px!important;margin-bottom:3px!important;}
  .crm-itinerary-grid span,.crm-hotel-print-grid span{font-size:11px!important;}
}

/* ===== Safe package detail upgrade: desktop cards unchanged, mobile/cards and detail page improved ===== */
.clickable-package-card{cursor:pointer;}
.upc-mobile-summary{display:none;}
.upc-detail-btn{width:100%;justify-content:center;margin-top:10px;color:#173b2c!important;border-color:#b8d7c5!important;background:#fff!important;}
.upc-detail-btn:hover{background:#f3faf6!important;color:#0d3b2a!important;}

.package-detail-hero{background:linear-gradient(180deg,#071d2d,#0d3327);color:#fff;padding:34px 0 44px;}
.package-detail-shell{display:grid;gap:18px;}
.pkg-detail-breadcrumb{display:flex;gap:9px;align-items:center;color:rgba(255,255,255,.76);font-size:.92rem;}
.pkg-detail-breadcrumb a{color:#f2c66d;text-decoration:none;font-weight:800;}
.pkg-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:stretch;}
.pkg-detail-title-card,.pkg-detail-price-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.18);}
.pkg-detail-kickers{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.pkg-detail-kickers span{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-weight:800;font-size:.8rem;color:#fff;}
.pkg-detail-title-card h1{margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;color:#fff;}
.pkg-detail-title-card p{margin:12px 0 0;color:rgba(255,255,255,.82);font-size:1rem;max-width:850px;}
.pkg-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.pkg-detail-price-card{display:grid;align-content:center;justify-items:start;gap:6px;background:#fff;color:#0f172a;}
.pkg-detail-price-card img{width:62px;height:62px;object-fit:contain;border:1px solid #e5e7eb;border-radius:16px;padding:8px;background:#fff;margin-bottom:4px;}
.pkg-detail-price-card small,.pkg-detail-price-card span{color:#64748b;font-weight:700;}
.pkg-detail-price-card strong{font-size:1.7rem;color:#0d3b2a;line-height:1.05;}
.package-detail-body{padding:34px 0 70px;background:#f7f8f5;}
.package-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;}
.pkg-detail-main{display:grid;gap:18px;}
.pkg-detail-panel{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:20px;box-shadow:0 18px 45px rgba(15,23,42,.06);}
.pkg-detail-gallery-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px;}
.pkg-gallery-main{min-height:260px;border-radius:20px;overflow:hidden;background:#e8f2ec;display:grid;place-items:center;color:#0d3b2a;font-weight:900;}
.pkg-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
.pkg-section-head{margin-bottom:16px;}
.pkg-section-head h2{margin:0;color:#0f172a;font-size:1.3rem;}
.pkg-section-head p{margin:5px 0 0;color:#64748b;}
.pkg-itinerary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.pkg-itinerary-card{border:1px solid #e5e7eb;border-radius:18px;background:#fbfdfb;padding:16px;display:grid;gap:7px;}
.pkg-itinerary-card b{color:#0d3b2a;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;}
.pkg-itinerary-card h3{margin:0;color:#0f172a;font-size:1.02rem;line-height:1.2;}
.pkg-itinerary-card p{margin:0;color:#334155;font-weight:700;}
.pkg-itinerary-card span{color:#64748b;font-size:.9rem;line-height:1.35;}
.pkg-hotel-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pkg-hotel-detail-card{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;border:1px solid #e5e7eb;border-radius:20px;padding:12px;background:#fff;}
.pkg-hotel-detail-card img{width:150px;height:128px;border-radius:16px;object-fit:cover;background:#e8f2ec;}
.pkg-hotel-detail-card small{color:#0d3b2a;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.pkg-hotel-detail-card h3{margin:5px 0;color:#0f172a;font-size:1rem;line-height:1.25;}
.pkg-hotel-detail-card p{margin:0 0 8px;color:#64748b;font-weight:700;}
.pkg-hotel-detail-card a{color:#0d3b2a;font-weight:800;text-decoration:none;}
.pkg-service-grid{display:flex;gap:10px;flex-wrap:wrap;}
.pkg-service-grid span{display:inline-flex;border:1px solid #d9eadf;background:#f4fbf6;color:#173b2c;padding:10px 13px;border-radius:999px;font-weight:800;font-size:.9rem;}
.pkg-detail-sidebar{position:sticky;top:90px;}
.pkg-detail-sticky-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:20px;box-shadow:0 22px 55px rgba(15,23,42,.10);display:grid;gap:12px;}
.pkg-detail-sticky-card h3{margin:0;color:#0f172a;}
.pkg-room-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:15px;background:#fff;}
.pkg-room-row.best{border-color:#b8d7c5;background:#f4fbf6;}
.pkg-room-row span{font-weight:800;color:#334155;}
.pkg-room-row strong{color:#0d3b2a;}
.pkg-detail-sticky-card .btn{width:100%;justify-content:center;}
.pkg-detail-sticky-card p{margin:0;color:#64748b;font-size:.9rem;line-height:1.45;}
.pkg-mobile-sticky-book{display:none;}

@media(max-width:760px){
  body:not(.admin-body) .package-dashboard-list{display:grid!important;gap:14px!important;}
  body:not(.admin-body) .umrah-package-card{border-radius:18px!important;padding:13px!important;background:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.10)!important;border:1px solid rgba(15,23,42,.08)!important;}
  body:not(.admin-body) .umrah-package-card::before{height:4px!important;background:#0d3b2a!important;}
  body:not(.admin-body) .upc-topline{display:none!important;}
  body:not(.admin-body) .upc-mobile-summary{display:grid!important;gap:12px;}
  body:not(.admin-body) .upc-mobile-airline{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;}
  body:not(.admin-body) .upc-mobile-airline img{width:48px;height:48px;object-fit:contain;border:1px solid #e5e7eb;border-radius:13px;padding:7px;background:#fff;}
  body:not(.admin-body) .upc-mobile-airline strong{display:block;color:#0f172a;font-size:1rem;line-height:1.25;}
  body:not(.admin-body) .upc-mobile-airline span{display:block;color:#64748b;font-weight:700;font-size:.83rem;margin-top:2px;}
  body:not(.admin-body) .upc-mobile-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  body:not(.admin-body) .upc-mobile-facts span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:13px;padding:9px;color:#0f172a;font-weight:800;font-size:.86rem;line-height:1.25;}
  body:not(.admin-body) .upc-mobile-facts span:last-child{grid-column:1/-1;}
  body:not(.admin-body) .upc-mobile-facts b{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;margin-bottom:2px;}
  body:not(.admin-body) .upc-mobile-price{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #eef2f7;padding-top:10px;}
  body:not(.admin-body) .upc-mobile-price span{color:#0d3b2a;font-weight:900;}
  body:not(.admin-body) .upc-mobile-price strong{font-size:1.13rem;}
  body:not(.admin-body) .upc-mobile-price a{background:#0d3b2a;color:#fff;text-decoration:none;border-radius:999px;padding:10px 13px;font-weight:900;white-space:nowrap;}
  body:not(.admin-body) .upc-info-grid,
  body:not(.admin-body) .upc-main-grid,
  body:not(.admin-body) .upc-services{display:none!important;}
  body:not(.admin-body) .clickable-package-card{cursor:pointer;}

  .package-detail-hero{padding:18px 0 24px;}
  .pkg-detail-breadcrumb{font-size:.82rem;overflow:auto;white-space:nowrap;padding-bottom:2px;}
  .pkg-detail-hero-grid,.package-detail-layout{grid-template-columns:1fr;}
  .pkg-detail-title-card,.pkg-detail-price-card{border-radius:20px;padding:16px;}
  .pkg-detail-title-card h1{font-size:1.45rem;line-height:1.12;}
  .pkg-detail-title-card p{font-size:.92rem;}
  .pkg-detail-kickers span{font-size:.72rem;padding:6px 9px;}
  .pkg-detail-price-card{display:none;}
  .package-detail-body{padding:14px 0 76px;}
  .pkg-detail-panel{border-radius:18px;padding:14px;}
  .pkg-detail-gallery-panel{grid-template-columns:1fr;padding:10px;}
  .pkg-gallery-main{min-height:190px;border-radius:15px;}
  .pkg-itinerary-grid,.pkg-hotel-detail-grid{grid-template-columns:1fr;}
  .pkg-itinerary-card{border-radius:15px;padding:14px;}
  .pkg-hotel-detail-card{grid-template-columns:104px 1fr;gap:11px;border-radius:16px;align-items:start;}
  .pkg-hotel-detail-card img{width:104px;height:104px;border-radius:13px;}
  .pkg-hotel-detail-card h3{font-size:.93rem;}
  .pkg-service-grid{gap:7px;}
  .pkg-service-grid span{font-size:.8rem;padding:8px 10px;}
  .pkg-detail-sidebar{position:static;}
  .pkg-detail-sticky-card{border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.07);}
  .pkg-mobile-sticky-book{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 14px;background:rgba(255,255,255,.96);border-top:1px solid #e5e7eb;z-index:50;box-shadow:0 -10px 28px rgba(15,23,42,.12);}
  .pkg-mobile-sticky-book .btn{width:100%;justify-content:center;}
}

/* ===== Booking CRM confirmation fields ===== */
.crm-form-section-title{
  grid-column:1/-1;
  margin:8px 0 2px;
  padding:10px 12px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid rgba(15,47,104,.08);
  font-weight:900;
  color:#0f172a;
  letter-spacing:.02em;
}
.crm-confirmation-form .field-group label{color:#0f172a!important;font-weight:800;}
.crm-confirmation-form .input,.crm-confirmation-form .textarea,.crm-confirmation-form .select{color:#0f172a!important;background:#fff!important;}
.crm-confirm-print-grid,.crm-flight-print-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.crm-flight-print-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.crm-confirm-print-grid div,.crm-flight-print-grid div{
  border:1px solid #d7dee8;
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  display:grid;
  gap:4px;
  color:#0f172a;
}
.crm-confirm-print-grid strong,.crm-flight-print-grid strong{
  font-size:.76rem;
  text-transform:uppercase;
  color:#334155;
  letter-spacing:.04em;
}
.crm-confirm-print-grid span,.crm-flight-print-grid span{
  font-weight:900;
  color:#0f172a;
  word-break:break-word;
}
.crm-flight-print-grid small,.crm-hotel-print-grid small{
  display:block;
  color:#334155;
  font-weight:700;
  line-height:1.35;
  margin-top:3px;
}
@media(max-width:700px){
  .crm-confirm-print-grid,.crm-flight-print-grid{grid-template-columns:1fr;}
}
@media print{
  .crm-confirm-print-grid,.crm-flight-print-grid{break-inside:avoid;}
  .crm-confirm-print-grid div,.crm-flight-print-grid div{border-color:#99a3b3!important;background:#fff!important;}
}

/* ===== Final contrast rescue: CRM print/PDF + package detail ===== */
.crm-print-sheet,
.crm-print-sheet *{
  text-shadow:none!important;
}
.crm-print-sheet{
  background:#ffffff!important;
  color:#0b1220!important;
}
.crm-print-section,
.crm-print-grid div,
.crm-print-item,
.crm-print-note,
.crm-print-traveller-card,
.crm-itinerary-grid div,
.crm-hotel-print-grid div,
.crm-confirm-print-grid div,
.crm-flight-print-grid div{
  background:#ffffff!important;
  border-color:#b8c2cc!important;
  color:#0b1220!important;
}
.crm-print-section h2,
.crm-print-traveller-title strong{
  color:#0b3b2b!important;
}
.crm-print-grid strong,
.crm-print-item strong,
.crm-print-mini-grid b,
.crm-itinerary-grid strong,
.crm-hotel-print-grid strong,
.crm-confirm-print-grid strong,
.crm-flight-print-grid strong{
  color:#1f2937!important;
}
.crm-print-grid span,
.crm-print-item p,
.crm-print-mini-grid span,
.crm-itinerary-grid span,
.crm-hotel-print-grid span,
.crm-confirm-print-grid span,
.crm-flight-print-grid span,
.crm-print-note p,
.crm-print-traveller-note,
.crm-service-note p{
  color:#0b1220!important;
}
.crm-print-muted,
.crm-print-item small,
.crm-flight-print-grid small,
.crm-hotel-print-grid small{
  color:#334155!important;
}
.crm-print-head{
  background:#ffffff!important;
  color:#0b1220!important;
  border:2px solid #0f2f24!important;
  border-radius:14px!important;
}
.crm-print-head h1,
.crm-print-head p,
.crm-print-head strong,
.crm-print-head span,
.crm-print-head small{
  color:#0b1220!important;
  opacity:1!important;
}
.crm-print-head div:last-child span{
  background:#f6e4ad!important;
  border:1px solid #b98514!important;
  color:#0b1220!important;
}
.crm-print-foot{
  color:#0b1220!important;
  background:#fff!important;
}

.package-detail-body,
.package-detail-body *{
  text-shadow:none!important;
}
.package-detail-body{
  color:#0f172a!important;
}
.pkg-detail-panel,
.pkg-detail-sticky-card,
.pkg-itinerary-card,
.pkg-hotel-detail-card,
.pkg-room-row{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#cbd5e1!important;
}
.pkg-section-head h2,
.pkg-itinerary-card h3,
.pkg-hotel-detail-card h3,
.pkg-detail-sticky-card h3{
  color:#0f172a!important;
}
.pkg-section-head p,
.pkg-itinerary-card p,
.pkg-hotel-detail-card p,
.pkg-detail-sticky-card p,
.pkg-itinerary-card span,
.pkg-room-row span{
  color:#334155!important;
}
.pkg-itinerary-card b,
.pkg-hotel-detail-card small,
.pkg-hotel-detail-card a,
.pkg-room-row strong,
.pkg-detail-price-card strong{
  color:#0d3b2a!important;
}
.pkg-service-grid span{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#b8d7c5!important;
}
.pkg-detail-price-card,
.pkg-detail-price-card *{
  color:#0f172a!important;
}
.pkg-detail-price-card small,
.pkg-detail-price-card span{
  color:#334155!important;
}
.package-detail-hero .btn-ghost,
.package-detail-hero a.btn-ghost{
  background:#ffffff!important;
  color:#0f2f24!important;
  border-color:#ffffff!important;
}
.package-detail-hero .btn-primary,
.package-detail-hero a.btn-primary{
  background:#d9b765!important;
  color:#10201a!important;
  border-color:#d9b765!important;
}
.pkg-mobile-sticky-book{
  background:#ffffff!important;
}
.pkg-mobile-sticky-book .btn{
  background:#0d3b2a!important;
  color:#ffffff!important;
}

@media print{
  @page{margin:12mm!important;}
  .crm-print-sheet,
  .crm-print-sheet *{
    color:#000000!important;
    background:#ffffff!important;
    box-shadow:none!important;
    text-shadow:none!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .crm-print-head{
    border:2px solid #000!important;
    padding:12px!important;
    margin-bottom:12px!important;
  }
  .crm-print-head h1{font-size:22px!important;color:#000!important;}
  .crm-print-section{
    border:1px solid #000!important;
    border-radius:0!important;
    padding:10px!important;
    margin-bottom:10px!important;
  }
  .crm-print-section h2{
    font-size:16px!important;
    color:#000!important;
    border-bottom:1px solid #000!important;
    padding-bottom:5px!important;
    margin-bottom:8px!important;
  }
  .crm-print-grid div,
  .crm-print-item,
  .crm-print-traveller-card,
  .crm-itinerary-grid div,
  .crm-hotel-print-grid div,
  .crm-confirm-print-grid div,
  .crm-flight-print-grid div,
  .crm-print-mini-grid div{
    border:1px solid #555!important;
    border-radius:0!important;
  }
  .crm-print-grid strong,
  .crm-print-item strong,
  .crm-print-mini-grid b,
  .crm-itinerary-grid strong,
  .crm-hotel-print-grid strong,
  .crm-confirm-print-grid strong,
  .crm-flight-print-grid strong{
    color:#111!important;
    font-weight:900!important;
  }
  .crm-print-grid span,
  .crm-print-item p,
  .crm-print-mini-grid span,
  .crm-itinerary-grid span,
  .crm-hotel-print-grid span,
  .crm-confirm-print-grid span,
  .crm-flight-print-grid span{
    color:#000!important;
    font-weight:800!important;
  }
}

/* ===== Booking CRM synced types + color coding ===== */
.crm-type-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
.crm-type-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:76px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  text-decoration:none!important;
  box-shadow:0 14px 34px rgba(15,23,42,.05);
  transition:.18s ease;
}
.crm-type-card:hover,.crm-type-card.active{transform:translateY(-1px);box-shadow:0 18px 42px rgba(15,23,42,.08);}
.crm-type-card strong{font-size:1.55rem;line-height:1;color:#0f172a;}
.crm-type-card span{font-size:.88rem;font-weight:900;color:#334155;text-align:right;}
.crm-type-card.crm-kind-package{background:#eff6ff;border-color:#bfdbfe;}
.crm-type-card.crm-kind-package strong,.crm-type-pill.crm-kind-package{color:#1d4ed8;}
.crm-type-card.crm-kind-hotel{background:#f0fdf4;border-color:#bbf7d0;}
.crm-type-card.crm-kind-hotel strong,.crm-type-pill.crm-kind-hotel{color:#047857;}
.crm-type-card.crm-kind-group_ticket{background:#fff7ed;border-color:#fed7aa;}
.crm-type-card.crm-kind-group_ticket strong,.crm-type-pill.crm-kind-group_ticket{color:#c2410c;}
.crm-type-card.active{outline:3px solid rgba(15,47,36,.12);}
.crm-type-pill.crm-kind-package{background:#eff6ff;border-color:#bfdbfe;}
.crm-type-pill.crm-kind-hotel{background:#f0fdf4;border-color:#bbf7d0;}
.crm-type-pill.crm-kind-group_ticket{background:#fff7ed;border-color:#fed7aa;}

.crm-status-new_request{background:#f1f5f9!important;color:#334155!important;border-color:#cbd5e1!important;}
.crm-status-contacted{background:#eef2ff!important;color:#3730a3!important;border-color:#c7d2fe!important;}
.crm-status-availability_checking{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
.crm-status-reserved{background:#faf5ff!important;color:#7e22ce!important;border-color:#e9d5ff!important;}
.crm-status-documents_received{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important;}
.crm-status-confirmed{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important;}
.crm-status-ticket_issued{background:#e0f2fe!important;color:#075985!important;border-color:#7dd3fc!important;}
.crm-status-hotel_confirmed{background:#f0fdf4!important;color:#15803d!important;border-color:#bbf7d0!important;}
.crm-status-completed{background:#ecfdf5!important;color:#065f46!important;border-color:#a7f3d0!important;}
.crm-status-cancelled{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important;}
.crm-status-documents_pending,.crm-status-details_pending{background:#fffbeb!important;color:#92400e!important;border-color:#fde68a!important;}

.crm-table tbody tr{transition:.16s ease;}
.crm-table tbody tr:hover{background:#f8fafc;}
.crm-table td:first-child strong{color:#0f172a;}
.crm-table .btn{white-space:nowrap;}

@media(max-width:760px){
  .crm-type-overview{grid-template-columns:1fr;}
  .crm-type-card{min-height:64px;padding:14px 16px;}
  .crm-type-card span{text-align:left;}
  .crm-table-card{border-radius:18px;}
  .crm-table thead{display:none;}
  .crm-table,.crm-table tbody,.crm-table tr,.crm-table td{display:block;width:100%;}
  .crm-table tr{border-bottom:1px solid #e2e8f0;padding:14px;background:#fff;}
  .crm-table td{border:0!important;padding:6px 0!important;}
  .crm-table td:last-child{display:flex;gap:8px;flex-wrap:wrap;padding-top:10px!important;}
  .crm-table td:last-child .btn{flex:1 1 130px;justify-content:center;}
}


/* ===== One-page cleanup: remove old-page confusion + force package action text readable ===== */
body:not(.admin-body) a[href*="packages.php"].btn,
body:not(.admin-body) a[href*="packages.php"].btn-primary,
body:not(.admin-body) .upc-mobile-price a,
body:not(.admin-body) .upc-book-btn,
body:not(.admin-body) a.upc-book-btn,
body:not(.admin-body) .package-detail-hero a.btn-primary,
body:not(.admin-body) .package-detail-sticky a,
body:not(.admin-body) .package-detail-sidebar a.btn,
body:not(.admin-body) .pkg-detail-actions a.btn-primary{
  color:#ffffff!important;
  text-shadow:none!important;
}
body:not(.admin-body) .upc-mobile-price a:hover,
body:not(.admin-body) a[href*="packages.php"].btn-primary:hover,
body:not(.admin-body) .package-detail-hero a.btn-primary:hover{
  color:#ffffff!important;
}
.admin-main a[href*="booking-detail.php"],
.admin-main a[href*="seat-booking-detail.php"]{
  display:none!important;
}

/* ===== Final mobile package card cleanup: show seats, remove clutter on phone only ===== */
@media(max-width:760px){
  body:not(.admin-body) .upc-mobile-facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body:not(.admin-body) .upc-mobile-facts .upc-mobile-seat-left{
    background:#ecfdf5!important;
    border-color:#bbf7d0!important;
    color:#065f46!important;
  }
  body:not(.admin-body) .upc-mobile-facts .upc-mobile-seat-left b{
    color:#047857!important;
  }
  body:not(.admin-body) .upc-mobile-facts .upc-mobile-route{
    grid-column:1/-1!important;
  }
  body:not(.admin-body) .upc-mobile-price{
    margin-top:2px!important;
  }
  body:not(.admin-body) .umrah-package-card .upc-gifts,
  body:not(.admin-body) .umrah-package-card .upc-services,
  body:not(.admin-body) .umrah-package-card .upc-code-box,
  body:not(.admin-body) .umrah-package-card .upc-info-grid,
  body:not(.admin-body) .umrah-package-card .upc-main-grid{
    display:none!important;
  }
  body:not(.admin-body) .umrah-package-card{
    margin-bottom:12px!important;
  }
}

/* ===== Force package mini summary text to white ===== */
body:not(.admin-body) .pkg-mini-card,
body:not(.admin-body) .package-mini-card,
body:not(.admin-body) .crm-package-mini,
body:not(.admin-body) .selected-package-mini,
body:not(.admin-body) .booking-selected-package,
.admin-body .pkg-mini-card,
.admin-body .package-mini-card,
.admin-body .crm-package-mini,
.admin-body .selected-package-mini,
.admin-body .booking-selected-package {
  background: #0b1f34 !important;
  border-color: rgba(255,255,255,.18) !important;
}

body:not(.admin-body) .pkg-mini-card *,
body:not(.admin-body) .package-mini-card *,
body:not(.admin-body) .crm-package-mini *,
body:not(.admin-body) .selected-package-mini *,
body:not(.admin-body) .booking-selected-package *,
.admin-body .pkg-mini-card *,
.admin-body .package-mini-card *,
.admin-body .crm-package-mini *,
.admin-body .selected-package-mini *,
.admin-body .booking-selected-package * {
  color: #ffffff !important;
}

body:not(.admin-body) .pkg-mini-card a,
body:not(.admin-body) .package-mini-card a,
body:not(.admin-body) .crm-package-mini a,
body:not(.admin-body) .selected-package-mini a,
body:not(.admin-body) .booking-selected-package a,
.admin-body .pkg-mini-card a,
.admin-body .package-mini-card a,
.admin-body .crm-package-mini a,
.admin-body .selected-package-mini a,
.admin-body .booking-selected-package a {
  color: #ffffff !important;
  text-decoration-color: rgba(255,255,255,.7) !important;
  font-weight: 800 !important;
}

/* direct fallback for package refs/duration/date chips in CRM/detail summaries */
.admin-body [class*="pkg"] strong,
.admin-body [class*="pkg"] b,
.admin-body [class*="pkg"] a[href*="packages.php"],
body:not(.admin-body) [class*="pkg"] a[href*="packages.php"] {
  color: #ffffff !important;
}

/* ===== Unified bookings + final contrast hardening ===== */
.booking-type-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 16px;}
.booking-type-card{display:grid;gap:4px;padding:16px 18px;border-radius:18px;text-decoration:none;background:#fff;border:1px solid #d8e1ec;box-shadow:0 12px 28px rgba(15,23,42,.05);color:#0f172a!important;}
.booking-type-card strong{font-size:1.8rem;line-height:1;color:#0f172a!important;}
.booking-type-card span{font-size:.86rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#334155!important;}
.booking-type-card.booking-type-package{border-left:7px solid #2563eb;background:linear-gradient(180deg,#ffffff,#eff6ff);}
.booking-type-card.booking-type-hotel{border-left:7px solid #0f766e;background:linear-gradient(180deg,#ffffff,#ecfdf5);}
.booking-type-card.booking-type-group_ticket{border-left:7px solid #f97316;background:linear-gradient(180deg,#ffffff,#fff7ed);}
.booking-type-card.active{box-shadow:0 0 0 3px rgba(15,47,104,.12),0 14px 34px rgba(15,23,42,.09);}
.booking-filter-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(190px,.8fr) minmax(190px,.8fr) auto auto;gap:12px;align-items:end;background:#fff;border:1px solid #d8e1ec;border-radius:22px;padding:16px;margin-bottom:18px;box-shadow:0 12px 30px rgba(15,23,42,.05);}
.booking-table-wrap{border:1px solid #d8e1ec!important;background:#fff!important;}
.booking-master-table th{background:#f8fafc!important;color:#0f172a!important;border-bottom:1px solid #d8e1ec!important;}
.booking-master-table td{color:#0f172a!important;background:#fff!important;vertical-align:top;}
.booking-master-table tr.booking-type-package td:first-child{box-shadow:inset 5px 0 0 #2563eb;}
.booking-master-table tr.booking-type-hotel td:first-child{box-shadow:inset 5px 0 0 #0f766e;}
.booking-master-table tr.booking-type-group_ticket td:first-child{box-shadow:inset 5px 0 0 #f97316;}
.booking-type-pill,.crm-type-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap;color:#0f172a!important;}
.booking-type-pill.booking-type-package,.crm-type-pill.crm-kind-package{background:#dbeafe!important;border-color:#93c5fd!important;color:#1e3a8a!important;}
.booking-type-pill.booking-type-hotel,.crm-type-pill.crm-kind-hotel{background:#ccfbf1!important;border-color:#5eead4!important;color:#134e4a!important;}
.booking-type-pill.booking-type-group_ticket,.crm-type-pill.crm-kind-group_ticket{background:#ffedd5!important;border-color:#fdba74!important;color:#9a3412!important;}
.booking-status-pill,.crm-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#0f172a!important;border:1px solid #cbd5e1;background:#f8fafc;white-space:nowrap;}
.booking-status-pending,.crm-status-new_request,.crm-status-details_pending,.crm-status-documents_pending{background:#fff7ed!important;border-color:#fdba74!important;color:#9a3412!important;}
.booking-status-approved,.crm-status-contacted,.crm-status-availability_checking,.crm-status-reserved{background:#dbeafe!important;border-color:#93c5fd!important;color:#1e3a8a!important;}
.booking-status-completed,.crm-status-confirmed,.crm-status-ticket_issued,.crm-status-hotel_confirmed,.crm-status-completed,.crm-status-documents_received{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important;}
.booking-status-rejected,.crm-status-cancelled{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important;}
.muted-mini{font-size:.78rem;color:#475569!important;line-height:1.45;margin-top:3px;word-break:break-word;}
.booking-note-snippet{margin-top:6px;padding:7px 9px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155!important;font-size:.8rem;line-height:1.35;}
.booking-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.booking-actions .btn,.booking-manage-box .btn{color:#fff!important;}
.booking-actions .btn-ghost,.booking-manage-box .btn-ghost{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important;}
.booking-actions .btn-ghost:hover,.booking-manage-box .btn-ghost:hover{background:#f8fafc!important;color:#0f172a!important;}
.booking-manage-box{margin-top:8px;background:#f8fafc;border:1px solid #d8e1ec;border-radius:12px;padding:8px;}
.booking-manage-box summary{cursor:pointer;color:#0f172a!important;font-weight:900;font-size:.86rem;}
.booking-manage-box form{display:grid;gap:8px;margin-top:8px;min-width:240px;}
.booking-manage-box .danger{color:#991b1b!important;background:#fff!important;border-color:#fecaca!important;}

/* Admin-wide contrast safety: black/navy on light cards, readable buttons/links/forms */
.admin-main,.admin-main p,.admin-main span,.admin-main div,.admin-main td,.admin-main th,.admin-main label,.admin-main small,.admin-main strong,.admin-main h1,.admin-main h2,.admin-main h3,.admin-main h4,.admin-main h5,.admin-main h6{color:#0f172a;}
.admin-main p,.admin-main small,.admin-main .muted,.admin-main .text-muted,.admin-main .help,.admin-main .hint,.admin-main .admin-empty-state{color:#475569!important;}
.admin-main .card,.admin-main .form-wrap,.admin-main .table-wrap,.admin-main .crm-table-card,.admin-main .crm-filter-card,.admin-main .crm-stat-card,.admin-main .crm-detail-card,.admin-main .poster-builder-panel{background:#fff!important;color:#0f172a!important;border-color:#d8e1ec!important;}
.admin-main .input,.admin-main .select,.admin-main .textarea,.admin-main input,.admin-main select,.admin-main textarea{background:#fff!important;color:#0f172a!important;border-color:#b9c7d9!important;caret-color:#0f172a!important;}
.admin-main input::placeholder,.admin-main textarea::placeholder{color:#64748b!important;opacity:1!important;}
.admin-main option{background:#fff!important;color:#0f172a!important;}
.admin-main a:not(.btn):not(.admin-nav a):not(.booking-type-card):not(.crm-type-card){color:#0f4c81!important;font-weight:800;}
.admin-main a:not(.btn):hover{text-decoration:underline;}
.admin-main .btn-primary,.admin-main button.btn-primary,.admin-main .filter-bar button.active,.admin-main button[type="submit"]{background:#0f4c3a!important;border-color:#0f4c3a!important;color:#fff!important;}
.admin-main .btn-primary *,.admin-main button.btn-primary *,.admin-main button[type="submit"] *{color:#fff!important;}
.admin-main .btn-ghost{background:#fff!important;color:#0f172a!important;border-color:#b9c7d9!important;}
.admin-main .btn-ghost:hover{background:#f8fafc!important;color:#0f172a!important;}
.admin-main .badge,.admin-main [class^="badge-"]{font-weight:900!important;color:#0f172a!important;background:#f8fafc!important;border:1px solid #cbd5e1!important;}
.admin-main .badge-pending,.admin-main .badge-warning{background:#fff7ed!important;color:#9a3412!important;border-color:#fdba74!important;}
.admin-main .badge-approved,.admin-main .badge-success{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important;}
.admin-main .badge-rejected,.admin-main .badge-danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important;}
.admin-main .badge-completed{background:#e0f2fe!important;color:#075985!important;border-color:#7dd3fc!important;}

/* Public package detail contrast safety */
.pkg-detail-page,.pkg-detail-page *:not(.btn):not(.btn *),.package-detail-page,.package-detail-page *:not(.btn):not(.btn *){color:#0f172a;}
.pkg-detail-page p,.pkg-detail-page small,.package-detail-page p,.package-detail-page small{color:#334155!important;}
.pkg-detail-page a:not(.btn),.package-detail-page a:not(.btn){color:#075985!important;font-weight:900;}
.pkg-detail-page .btn,.package-detail-page .btn{color:#fff!important;}

/* Print/PDF readability hardening */
@media print{
  *{text-shadow:none!important;box-shadow:none!important;}
  body,.admin-main,.crm-print-page,.print-page{background:#fff!important;color:#000!important;}
  .crm-print-page *,.print-page *,.admin-main *{color:#000!important;background:transparent!important;border-color:#000!important;}
  .crm-print-page .print-section,.crm-print-page .print-card,.crm-print-page table,.crm-print-page th,.crm-print-page td{background:#fff!important;color:#000!important;border-color:#111!important;}
  .no-print,.admin-side,.admin-top,.btn{display:none!important;}
}

@media(max-width:900px){
  .booking-type-overview{grid-template-columns:1fr;gap:10px;}
  .booking-filter-card{grid-template-columns:1fr;padding:14px;border-radius:18px;}
  .booking-master-table,.booking-master-table thead,.booking-master-table tbody,.booking-master-table th,.booking-master-table td,.booking-master-table tr{display:block;width:100%;}
  .booking-master-table thead{display:none;}
  .booking-master-table tr{margin:0 0 14px;background:#fff!important;border:1px solid #d8e1ec;border-radius:18px;padding:12px;box-shadow:0 12px 30px rgba(15,23,42,.06);}
  .booking-master-table tr.booking-type-package{border-left:7px solid #2563eb;}
  .booking-master-table tr.booking-type-hotel{border-left:7px solid #0f766e;}
  .booking-master-table tr.booking-type-group_ticket{border-left:7px solid #f97316;}
  .booking-master-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:start;border:0!important;border-bottom:1px solid #eef2f7!important;padding:10px 2px!important;box-shadow:none!important;}
  .booking-master-table td:last-child{border-bottom:0!important;}
  .booking-master-table td::before{content:attr(data-label);font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#64748b;}
  .booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;}
  .booking-actions .btn{width:100%;justify-content:center;}
  .booking-actions .btn:nth-child(3){grid-column:1/-1;}
  .booking-manage-box form{min-width:0;}
}

/* =========================================================
   FINAL UI/UX FRONT-END CLEANUP PASS
   Scope: layout polish, readable contrast, mobile cards, forms, tables.
   No API, DB, booking logic, or package data changes.
   ========================================================= */
:root{
  --ui-ink:#0f172a;
  --ui-muted:#475569;
  --ui-soft:#f8fafc;
  --ui-line:#d8e1ec;
  --ui-line-2:#e5edf5;
  --ui-brand:#0f4c3a;
  --ui-brand-dark:#0b3529;
  --ui-gold:#b8872f;
  --ui-radius:18px;
  --ui-shadow:0 18px 45px rgba(15,23,42,.08);
}
html{scroll-behavior:smooth;}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
.container{width:min(1180px,calc(100% - 32px));margin-inline:auto;}
.section,.page-section{padding-block:clamp(34px,5vw,72px);}
img,svg,video{max-width:100%;height:auto;}
a{word-break:break-word;}

/* universal readable cards/forms */
.card,.form-wrap,.confirm-card,.booking-choice-hero,.auth-card,.table-wrap,.dashboard-card,
.package-detail-card,.pkg-detail-card,.hotel-detail-card,.seat-card,.hotel-card,.news-card,.testi-card{
  border-radius:var(--ui-radius);
  border:1px solid var(--ui-line);
  background:#fff;
  box-shadow:var(--ui-shadow);
}
.card p,.form-wrap p,.confirm-card p,.package-detail-card p,.pkg-detail-card p,.hotel-detail-card p,
.card small,.form-wrap small,.confirm-card small,.package-detail-card small,.pkg-detail-card small,.hotel-detail-card small{
  color:var(--ui-muted)!important;
  line-height:1.65;
}
.card h1,.card h2,.card h3,.card h4,.form-wrap h1,.form-wrap h2,.form-wrap h3,.confirm-card h1,.confirm-card h2,.confirm-card h3,
.package-detail-card h1,.package-detail-card h2,.package-detail-card h3,.pkg-detail-card h1,.pkg-detail-card h2,.pkg-detail-card h3{
  color:var(--ui-ink)!important;
  letter-spacing:-.02em;
}

/* forms: spacing + touch-friendly fields */
.form-grid{gap:16px!important;}
.field-group{display:grid;gap:7px;margin-bottom:0;}
.field-group label,label{font-weight:800;color:var(--ui-ink)!important;line-height:1.35;}
.input,.select,.textarea,input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  min-height:46px;
  border-radius:13px!important;
  border:1px solid #b9c7d9!important;
  background:#fff!important;
  color:var(--ui-ink)!important;
  padding:12px 14px!important;
  font-size:15px;
  line-height:1.35;
  box-shadow:none!important;
  outline:none;
}
textarea,.textarea{min-height:112px;resize:vertical;}
.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{
  border-color:var(--ui-brand)!important;
  box-shadow:0 0 0 4px rgba(15,76,58,.12)!important;
}
input::placeholder,textarea::placeholder{color:#64748b!important;opacity:1;}
.form-grid.cols-2,.grid.grid-2{gap:clamp(16px,3vw,28px)!important;}

/* buttons: consistent readable action system */
.btn,button.btn,a.btn{
  min-height:42px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:900;
  line-height:1.1;
  text-decoration:none!important;
  border:1px solid transparent;
  padding:11px 17px;
  white-space:normal;
  text-align:center;
}
.btn-primary,.btn-success,button[type="submit"].btn-primary,a.btn-primary{
  background:var(--ui-brand)!important;
  border-color:var(--ui-brand)!important;
  color:#fff!important;
}
.btn-primary *,.btn-success *,button[type="submit"].btn-primary *{color:#fff!important;}
.btn-primary:hover,.btn-success:hover{background:var(--ui-brand-dark)!important;border-color:var(--ui-brand-dark)!important;color:#fff!important;}
.btn-ghost,.btn-light{background:#fff!important;color:var(--ui-ink)!important;border-color:#b9c7d9!important;}
.btn-ghost:hover,.btn-light:hover{background:#f8fafc!important;color:var(--ui-ink)!important;}
.btn-danger,.danger{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important;}
.btn-block{width:100%;}

/* tables: readable on desktop, card-like on mobile */
.table-wrap{overflow:auto;border-radius:18px;background:#fff;border:1px solid var(--ui-line);}
table{border-collapse:collapse;width:100%;}
th{background:#f8fafc!important;color:var(--ui-ink)!important;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;font-weight:900;}
td{color:var(--ui-ink)!important;background:#fff!important;line-height:1.45;}
th,td{padding:13px 14px;border-bottom:1px solid var(--ui-line-2);vertical-align:top;}
tbody tr:hover td{background:#fbfdff!important;}

/* package listing: keep desktop design, polish mobile only */
@media(min-width:901px){
  body:not(.admin-body) .umrah-package-card,
  body:not(.admin-body) .package-card{scroll-margin-top:96px;}
}
@media(max-width:900px){
  .container{width:min(100% - 22px,720px);}
  .section,.page-section{padding-block:28px;}
  .grid,.grid-2,.grid-3,.grid-4,.form-grid.cols-2,.form-grid.cols-3{grid-template-columns:1fr!important;}
  body:not(.admin-body) .packages-grid,
  body:not(.admin-body) .package-grid,
  body:not(.admin-body) .hotels-grid,
  body:not(.admin-body) .seats-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  body:not(.admin-body) .umrah-package-card,
  body:not(.admin-body) .package-card{
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #d8e1ec!important;
    box-shadow:0 12px 30px rgba(15,23,42,.08)!important;
    padding:0!important;
  }
  body:not(.admin-body) .umrah-package-card::before,
  body:not(.admin-body) .package-card::before{display:none!important;}
  body:not(.admin-body) .upc-main,
  body:not(.admin-body) .upc-body,
  body:not(.admin-body) .package-card .body,
  body:not(.admin-body) .package-card .content{padding:14px!important;display:grid!important;gap:12px!important;}
  body:not(.admin-body) .upc-airline-panel,
  body:not(.admin-body) .upc-code-box,
  body:not(.admin-body) .upc-price-panel,
  body:not(.admin-body) .upc-services,
  body:not(.admin-body) .upc-gifts{border-radius:14px!important;margin:0!important;}
  body:not(.admin-body) .upc-title,
  body:not(.admin-body) .package-card h3,
  body:not(.admin-body) .package-card h2{font-size:1rem!important;line-height:1.28!important;color:var(--ui-ink)!important;margin:0!important;}
  body:not(.admin-body) .upc-mobile-summary,
  body:not(.admin-body) .mobile-package-summary{display:grid!important;gap:10px!important;background:#fff!important;color:var(--ui-ink)!important;padding:14px!important;}
  body:not(.admin-body) .upc-mobile-summary *:not(.btn),
  body:not(.admin-body) .mobile-package-summary *:not(.btn){color:var(--ui-ink)!important;}
  body:not(.admin-body) .upc-mobile-row,
  body:not(.admin-body) .mobile-package-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border-bottom:1px solid #eef2f7;padding-bottom:9px;}
  body:not(.admin-body) .upc-mobile-row:last-child,
  body:not(.admin-body) .mobile-package-row:last-child{border-bottom:0;padding-bottom:0;}
  body:not(.admin-body) .upc-seats,
  body:not(.admin-body) .seats-left,
  body:not(.admin-body) .remaining-seats{
    display:inline-flex!important;align-items:center;justify-content:center;gap:6px;
    padding:7px 10px;border-radius:999px;background:#fff7ed!important;border:1px solid #fdba74!important;color:#9a3412!important;font-weight:900!important;font-size:.78rem!important;
  }
  body:not(.admin-body) .upc-book-btn,
  body:not(.admin-body) .package-card .btn,
  body:not(.admin-body) a[href*="packages.php?ref"]{width:100%!important;color:#fff!important;background:var(--ui-brand)!important;border-color:var(--ui-brand)!important;}
}

/* package detail page: Booking.com-like clean detail on mobile and readable desktop */
.package-detail-page,.pkg-detail-page,.package-detail-wrap{background:#f8fafc;}
.pkg-detail-hero,.package-detail-hero{border-radius:24px;background:#fff;border:1px solid var(--ui-line);box-shadow:var(--ui-shadow);overflow:hidden;}
.pkg-detail-section,.package-detail-section,.pkg-detail-card,.package-detail-card{
  background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:20px!important;box-shadow:0 12px 28px rgba(15,23,42,.05)!important;padding:clamp(16px,2vw,22px)!important;
}
.pkg-detail-section h2,.package-detail-section h2,.pkg-detail-card h2,.package-detail-card h2{font-size:clamp(1.1rem,2vw,1.45rem);margin:0 0 12px;color:var(--ui-ink)!important;}
.pkg-detail-section p,.package-detail-section p,.pkg-detail-card p,.package-detail-card p{color:#334155!important;}
.itinerary-card,.flight-card,.hotel-card-mini,.service-card,.price-card{
  background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;color:var(--ui-ink)!important;padding:14px!important;
}
.itinerary-card *,.flight-card *,.hotel-card-mini *,.service-card *,.price-card *{color:var(--ui-ink)!important;}
.itinerary-label,.flight-label,.hotel-label,.service-label,.price-label,.lbl{font-size:.75rem!important;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#64748b!important;}
@media(max-width:900px){
  .pkg-detail-hero,.package-detail-hero{border-radius:18px;}
  .pkg-detail-section,.package-detail-section,.pkg-detail-card,.package-detail-card{border-radius:16px!important;padding:15px!important;}
  .pkg-detail-grid,.package-detail-grid,.itinerary-grid,.flight-grid,.hotel-detail-grid,.room-price-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .mobile-sticky-book,.pkg-mobile-sticky,.package-sticky-cta{position:sticky!important;bottom:10px;z-index:50;border-radius:18px;background:#fff;border:1px solid var(--ui-line);box-shadow:0 -8px 30px rgba(15,23,42,.14);padding:10px;}
  .mobile-sticky-book .btn,.pkg-mobile-sticky .btn,.package-sticky-cta .btn{width:100%;}
}

/* booking / confirmation pages */
.confirm-banner,.confirm-card,.booking-choice-hero{color:var(--ui-ink)!important;}
.confirm-banner h1,.confirm-card h2,.booking-choice-hero h1{color:var(--ui-ink)!important;}
.confirm-grid{gap:0!important;border:1px solid var(--ui-line);border-radius:16px;overflow:hidden;background:#fff;}
.confirm-cell{padding:14px!important;border-bottom:1px solid var(--ui-line-2);background:#fff!important;color:var(--ui-ink)!important;}
.confirm-cell .lbl{margin-bottom:5px;}
.confirm-cell strong,.confirm-cell b{color:var(--ui-ink)!important;}
@media(max-width:760px){
  .confirm-grid{display:grid!important;grid-template-columns:1fr!important;}
  .confirm-cell{grid-column:auto!important;}
  .confirm-banner,.confirm-card{border-radius:18px!important;padding:18px!important;}
}

/* admin layout: dashboard, CRM, bookings, settings */
.admin-body{background:#f4f7fb!important;}
.admin-wrap{min-height:100vh;}
.admin-main{padding:clamp(16px,2vw,28px)!important;}
.admin-main > h1,.admin-main > h2{margin-top:0;color:var(--ui-ink)!important;letter-spacing:-.025em;}
.admin-main .flex.between{align-items:center;gap:14px;flex-wrap:wrap;}
.admin-main .form-grid{gap:14px!important;}
.admin-main .card,.admin-main .panel,.admin-main .table-wrap,.admin-main .form-wrap,.admin-main .crm-detail-card,.admin-main .crm-filter-card,.admin-main .poster-builder-panel{
  border-radius:18px!important;border:1px solid var(--ui-line)!important;background:#fff!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important;
}
.admin-main .card,.admin-main .panel,.admin-main .form-wrap,.admin-main .crm-detail-card,.admin-main .poster-builder-panel{padding:clamp(14px,2vw,20px)!important;}
.admin-main .btn{min-height:39px;padding:10px 14px;font-size:.9rem;}
.admin-main .btn-sm{min-height:34px;padding:8px 11px;font-size:.82rem;}
.admin-main .actions,.admin-main .table-actions,.admin-main .booking-actions{gap:8px!important;}
.admin-main .alert{border-radius:14px!important;padding:12px 14px!important;font-weight:700!important;line-height:1.45;}
.admin-main .alert-error{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important;}
.admin-main .alert-success{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important;}
.admin-main .alert-info{background:#e0f2fe!important;color:#075985!important;border:1px solid #7dd3fc!important;}

/* CRM detail: readable stack and sections */
.crm-detail-layout,.crm-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;align-items:start;}
.crm-section-title,.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;color:var(--ui-ink)!important;}
.crm-mini-grid,.crm-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.crm-info-item{background:#f8fafc;border:1px solid var(--ui-line-2);border-radius:14px;padding:11px;color:var(--ui-ink)!important;}
.crm-info-item span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#64748b!important;margin-bottom:3px;}
.crm-info-item strong{color:var(--ui-ink)!important;}
@media(max-width:980px){.crm-detail-layout,.crm-detail-grid{grid-template-columns:1fr;}.crm-mini-grid,.crm-info-grid{grid-template-columns:1fr;}}

/* mobile admin becomes app-like cards */
@media(max-width:760px){
  .admin-main{padding:14px!important;}
  .admin-main .flex.between{display:grid!important;grid-template-columns:1fr!important;}
  .admin-main .flex.between .flex{width:100%;display:grid!important;grid-template-columns:1fr!important;}
  .admin-main .btn{width:100%;}
  .admin-main table:not(.booking-master-table),
  .admin-main table:not(.booking-master-table) thead,
  .admin-main table:not(.booking-master-table) tbody,
  .admin-main table:not(.booking-master-table) th,
  .admin-main table:not(.booking-master-table) td,
  .admin-main table:not(.booking-master-table) tr{display:block;width:100%;}
  .admin-main table:not(.booking-master-table) thead{display:none;}
  .admin-main table:not(.booking-master-table) tr{border:1px solid var(--ui-line);border-radius:16px;background:#fff;margin-bottom:12px;padding:10px;box-shadow:0 10px 26px rgba(15,23,42,.05);}
  .admin-main table:not(.booking-master-table) td{border:0!important;border-bottom:1px solid #eef2f7!important;padding:9px 2px!important;background:#fff!important;}
  .admin-main table:not(.booking-master-table) td:last-child{border-bottom:0!important;}
}

/* final contrast kill-switch: avoid invisible light text on light bg */
body:not(.admin-body) .white-card *,
body:not(.admin-body) .card *,
body:not(.admin-body) .form-wrap *,
body:not(.admin-body) .confirm-card *,
body:not(.admin-body) .package-detail-card *,
body:not(.admin-body) .pkg-detail-card *,
body:not(.admin-body) .hotel-detail-card *{text-shadow:none;}
body:not(.admin-body) .white-card :where(p,span,small,div,li,td,th,label):not(.btn):not(.btn *):not(.upc-code-box *):not(.upc-airline-panel *),
body:not(.admin-body) .form-wrap :where(p,span,small,div,li,label):not(.btn):not(.btn *){color:#0f172a;}
body:not(.admin-body) .btn,body:not(.admin-body) .btn *{color:inherit;}
body:not(.admin-body) .btn-primary,body:not(.admin-body) .btn-primary *,body:not(.admin-body) .upc-book-btn,body:not(.admin-body) .upc-book-btn *{color:#fff!important;}

/* print: clean A4 business document */
@media print{
  @page{size:A4;margin:12mm;}
  html,body{background:#fff!important;color:#000!important;font-size:11pt!important;line-height:1.35!important;}
  .admin-main,.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
  .crm-print-page,.print-page,.confirm-card,.crm-print-card{background:#fff!important;color:#000!important;border:0!important;box-shadow:none!important;}
  .crm-print-page h1,.crm-print-page h2,.crm-print-page h3,.print-page h1,.print-page h2,.print-page h3{color:#000!important;page-break-after:avoid;}
  .crm-print-page section,.print-section,.print-card,.traveller-print-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #111!important;border-radius:0!important;padding:10px!important;margin-bottom:10px!important;background:#fff!important;}
  table,thead,tbody,tr,td,th{display:table-row-group;color:#000!important;background:#fff!important;border-color:#111!important;}
  tr{break-inside:avoid;page-break-inside:avoid;}
  th,td{border:1px solid #111!important;padding:6px 7px!important;color:#000!important;background:#fff!important;}
  a[href]::after{content:""!important;}
}

/* =========================================================
   PREMIUM POSTER STUDIO V2 — Royal Inn
   Purpose: professional marketing poster generator, isolated from site UI
   ========================================================= */
.poster-studio-v2{--ps-ink:#0b1220;--ps-muted:#64748b;--ps-line:#e2e8f0;--ps-panel:#ffffff;--ps-cream:#fff8ec;--ps-gold:#c99a35;--ps-green:#164b36;--ps-green-2:#1f6b4c;--ps-navy:#07182f;--ps-blue:#123a6f;--ps-radius:24px;color:var(--ps-ink);}
.ps-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 22px;padding:24px;border-radius:28px;background:linear-gradient(135deg,#07182f 0%,#0e2a4e 58%,#164b36 100%);color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.18);overflow:hidden;position:relative;}
.ps-hero:before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(201,154,53,.25);filter:blur(2px);}
.ps-hero>*{position:relative;z-index:1}.ps-kicker{display:inline-flex;margin-bottom:9px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f8e7b8}.ps-hero h2{margin:0;font-size:clamp(1.45rem,2vw,2.15rem);line-height:1.05;color:#fff}.ps-hero p{max-width:820px;margin:9px 0 0;color:rgba(255,255,255,.82);line-height:1.55}.ps-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.ps-hero .btn{white-space:nowrap}.ps-builder{display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(280px,.75fr) minmax(280px,.75fr);gap:18px;align-items:start;margin-bottom:24px}.ps-panel{background:#fff;border:1px solid var(--ps-line);border-radius:24px;padding:20px;box-shadow:0 16px 45px rgba(15,23,42,.06)}.ps-panel-main{grid-row:span 2}.ps-panel-packages{grid-column:1/-1}.ps-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.ps-section-head div{display:flex;align-items:center;gap:10px}.ps-section-head b{display:grid;place-items:center;width:34px;height:34px;border-radius:13px;background:#0f2f68;color:#fff;font-size:.82rem}.ps-section-head h3{margin:0;font-size:1.08rem}.ps-section-head>span{font-size:.86rem;color:var(--ps-muted);font-weight:700}.ps-brand-card{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#fff8ec,#ffffff);border:1px solid rgba(201,154,53,.24)}.ps-brand-logo{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#fff;overflow:hidden;border:1px solid rgba(201,154,53,.22)}.ps-brand-logo img{width:100%;height:100%;object-fit:contain}.ps-brand-card strong{display:block;color:#0b1220}.ps-brand-card span{display:block;color:#64748b;margin-top:3px}.ps-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ps-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-choice{position:relative;display:grid;gap:7px;padding:13px;border-radius:18px;border:1px solid #dbe3ee;background:#fff;cursor:pointer;transition:.18s ease;min-height:120px}.ps-choice:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.08)}.ps-choice.active,.ps-choice:has(input:checked){border-color:#164b36;box-shadow:0 0 0 3px rgba(22,75,54,.11)}.ps-choice input{position:absolute;opacity:0;pointer-events:none}.ps-choice strong{color:#0b1220;font-size:.95rem}.ps-choice small{color:#64748b;font-size:.82rem}.ps-choice .shape,.ps-choice .tpl-bars{display:grid;gap:6px;padding:9px;border-radius:14px;background:#f8fafc}.ps-choice .shape:before,.ps-choice .shape:after{content:"";display:block;background:#164b36;border-radius:999px}.ps-choice .shape.portrait{height:64px;width:48px}.ps-choice .shape.landscape{height:48px;width:72px}.ps-choice .shape:before{height:12px}.ps-choice .shape:after{height:26px;background:#e2e8f0}.tpl-bars{height:62px;align-content:center}.tpl-bars em{display:block;height:10px;border-radius:999px;background:#dbe3ee}.tpl-bars em:nth-child(1){width:70%;background:#0f2f68}.tpl-bars em:nth-child(2){width:92%;background:#c99a35}.tpl-bars em:nth-child(3){width:58%;background:#164b36}.tpl-emerald .tpl-bars em:nth-child(1){background:#164b36}.tpl-emerald .tpl-bars em:nth-child(2){background:#1f6b4c}.tpl-midnight .tpl-bars{background:#07182f}.tpl-midnight .tpl-bars em:nth-child(1){background:#c99a35}.tpl-midnight .tpl-bars em:nth-child(2){background:#223b5a}.tpl-midnight .tpl-bars em:nth-child(3){background:#fff}.tpl-clean .tpl-bars{background:#fff8ec}.tpl-clean .tpl-bars em:nth-child(1){background:#0b1220}.tpl-clean .tpl-bars em:nth-child(2){background:#e2e8f0}.tpl-clean .tpl-bars em:nth-child(3){background:#c99a35}.ps-package-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:center;margin-bottom:15px}.ps-tool-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ps-package-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:620px;overflow:auto;padding:2px 4px 2px 2px}.ps-pkg-option{display:block;cursor:pointer}.ps-pkg-option input{position:absolute;opacity:0;pointer-events:none}.ps-pkg-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:20px;background:#fff;border:1px solid #dbe3ee;box-shadow:0 8px 25px rgba(15,23,42,.04);height:100%;transition:.16s ease}.ps-pkg-option input:checked+.ps-pkg-card{border-color:#164b36;box-shadow:0 0 0 3px rgba(22,75,54,.10),0 18px 36px rgba(15,23,42,.07);background:#fbfffd}.ps-pkg-thumb{width:70px;height:70px;display:grid;place-items:center;border-radius:16px;overflow:hidden;background:#f1f5f9;color:#164b36;border:1px solid #e2e8f0}.ps-pkg-thumb img{width:100%;height:100%;object-fit:cover}.ps-pkg-body{min-width:0;display:grid;gap:5px}.ps-pkg-body b{font-size:.95rem;line-height:1.25;color:#0b1220;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ps-pkg-body small{color:#64748b;line-height:1.25}.ps-pkg-price{font-weight:900;color:#164b36;white-space:nowrap}.ps-submit-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.ps-output-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 20px;padding:16px 18px;border:1px solid #dbe3ee;border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(15,23,42,.05)}.ps-output-head strong{display:block;color:#0b1220}.ps-output-head span{display:block;color:#64748b;margin-top:3px}.ps-poster-output{display:grid;gap:28px;justify-items:center}.poster-masterpiece{--pm-bg:#fff8ec;--pm-ink:#0b1220;--pm-muted:#526173;--pm-panel:#ffffff;--pm-line:rgba(15,23,42,.13);--pm-accent:#164b36;--pm-accent2:#c99a35;--pm-dark:#07182f;position:relative;width:1080px;height:1350px;max-width:100%;background:var(--pm-bg);color:var(--pm-ink);overflow:hidden;border-radius:26px;border:1px solid var(--pm-line);box-shadow:0 26px 80px rgba(15,23,42,.16);padding:38px;display:grid;grid-template-rows:auto auto 1fr auto;gap:18px;isolation:isolate}.ps-format-landscape{width:1350px;height:1080px}.ps-theme-emerald{--pm-bg:#f3fbf5;--pm-accent:#164b36;--pm-accent2:#c99a35;--pm-dark:#0d2f24}.ps-theme-midnight{--pm-bg:#07182f;--pm-ink:#ffffff;--pm-muted:#dbe6f5;--pm-panel:rgba(255,255,255,.96);--pm-line:rgba(255,255,255,.16);--pm-accent:#c99a35;--pm-accent2:#fff0c4;--pm-dark:#020b16}.ps-theme-clean{--pm-bg:#ffffff;--pm-accent:#164b36;--pm-accent2:#c99a35;--pm-dark:#0b1220}.pm-bg-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55;z-index:-1}.pm-bg-orb.one{width:360px;height:360px;right:-140px;top:-130px;background:var(--pm-accent2)}.pm-bg-orb.two{width:260px;height:260px;left:-120px;bottom:70px;background:rgba(22,75,54,.18)}.pm-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start;padding:22px 24px;border-radius:26px;background:var(--pm-dark);color:#fff}.ps-theme-clean .pm-header,.ps-theme-emerald .pm-header,.ps-theme-elite .pm-header{background:linear-gradient(135deg,#07182f,#164b36)}.pm-brand{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;align-items:center}.pm-logo{width:82px;height:82px;border-radius:22px;background:#fff;display:grid;place-items:center;overflow:hidden;padding:8px}.pm-logo img{width:100%;height:100%;object-fit:contain}.pm-brand small{display:block;color:#f8e7b8;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;margin-bottom:6px}.pm-brand h1{margin:0;color:#fff;font-size:clamp(2rem,4vw,3.2rem);line-height:.96;letter-spacing:-.04em}.pm-brand p{margin:8px 0 0;color:rgba(255,255,255,.80);font-weight:600;max-width:780px}.pm-contact{text-align:right;display:grid;gap:5px;justify-items:end}.pm-contact strong{font-size:1.06rem;color:#fff}.pm-contact span{color:rgba(255,255,255,.78)}.pm-contact em{font-style:normal;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);padding:7px 11px;border-radius:999px;color:#fff;font-weight:800}.pm-agent-note{display:flex;align-items:center;gap:12px;padding:13px 18px;border-radius:18px;background:var(--pm-accent2);color:#171002;font-weight:900;border:1px solid rgba(0,0,0,.08)}.pm-agent-note span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.pm-packages{display:grid;grid-template-columns:1fr;gap:14px;min-height:0}.ps-format-landscape .pm-packages{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pm-package{display:grid;grid-template-columns:155px minmax(0,1fr) 170px;gap:14px;align-items:stretch;padding:14px;border-radius:22px;background:var(--pm-panel);border:1px solid var(--pm-line);box-shadow:0 12px 30px rgba(15,23,42,.08);min-height:210px;color:#0b1220}.ps-format-landscape .pm-package{grid-template-columns:138px minmax(0,1fr) 154px;min-height:202px}.pm-package-media{position:relative;border-radius:18px;overflow:hidden;background:#e2e8f0;display:grid;place-items:end start;min-height:100%;border:1px solid #e2e8f0}.pm-package-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pm-package-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.62))}.pm-package-media span{position:relative;z-index:1;margin:10px;padding:6px 10px;border-radius:999px;background:#fff;color:#164b36;font-weight:900;font-size:.78rem;text-transform:uppercase}.pm-package-main{min-width:0;display:grid;gap:9px;align-content:start}.pm-topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-topline b,.pm-topline span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:900}.pm-topline b{background:#07182f;color:#fff}.pm-topline span{background:#f0fdf4;color:#164b36;border:1px solid #ccebdd}.pm-package h2{margin:0;color:#0b1220;font-size:1.18rem;line-height:1.12;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ps-format-landscape .pm-package h2{font-size:1.08rem}.pm-info-row{display:flex;align-items:center;gap:8px;color:#0f172a;font-weight:800;font-size:.9rem}.pm-info-row i{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#f8fafc;color:#164b36;font-style:normal;flex:0 0 auto}.pm-flight-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pm-flight-strip span{display:grid;gap:3px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;padding:8px;color:#334155;font-size:.76rem}.pm-flight-strip b{color:#0b1220;font-size:.82rem}.pm-hotels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pm-hotels span{display:grid;gap:3px;padding:8px;border-radius:13px;background:#fff8ec;border:1px solid #f1dfbd;color:#0b1220;font-size:.76rem;line-height:1.2}.pm-hotels b{color:#164b36;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em}.pm-price-box{display:grid;align-content:start;justify-items:end;text-align:right;gap:8px;padding:13px;border-radius:18px;background:linear-gradient(180deg,#07182f,#164b36);color:#fff}.pm-airline-logo{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#fff;color:#164b36;overflow:hidden}.pm-airline-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.pm-price-box small{color:rgba(255,255,255,.72);font-weight:800}.pm-price-box strong{color:#fff;font-size:1.18rem;line-height:1.05}.pm-price-pills{display:grid;gap:6px;width:100%;margin-top:4px}.pm-price-pills span{display:flex;justify-content:space-between;gap:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);border-radius:11px;padding:7px 8px;color:#fff;font-size:.76rem}.pm-price-pills b{color:#f8e7b8}.pm-footer{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px 18px;border-radius:22px;background:var(--pm-dark);color:#fff}.pm-footer div{display:grid;gap:3px}.pm-footer strong,.pm-footer b{color:#f8e7b8}.pm-footer span{color:rgba(255,255,255,.78)}.ps-theme-midnight .pm-package{box-shadow:0 12px 30px rgba(0,0,0,.28)}.ps-theme-midnight .pm-agent-note{background:#c99a35;color:#0b1220}.ps-theme-clean .pm-package,.ps-theme-clean .pm-panel{box-shadow:0 10px 28px rgba(15,23,42,.06)}

@media(max-width:1200px){.ps-builder{grid-template-columns:1fr 1fr}.ps-panel-main,.ps-panel-packages{grid-column:1/-1}.ps-package-picker{grid-template-columns:1fr}.poster-masterpiece{transform-origin:top center}}
@media(max-width:760px){.ps-hero,.ps-output-head{display:grid}.ps-hero-actions,.ps-tool-buttons{justify-content:flex-start}.ps-builder{grid-template-columns:1fr}.ps-choice-grid,.ps-choice-grid.two{grid-template-columns:1fr}.ps-package-tools{grid-template-columns:1fr}.ps-pkg-card{grid-template-columns:58px minmax(0,1fr)}.ps-pkg-price{grid-column:2}.poster-masterpiece{width:100%;height:auto;min-height:0;padding:18px;border-radius:18px}.pm-header{grid-template-columns:1fr;padding:16px}.pm-brand{grid-template-columns:58px 1fr}.pm-logo{width:58px;height:58px;border-radius:16px}.pm-brand h1{font-size:1.55rem}.pm-contact{text-align:left;justify-items:start}.pm-agent-note{align-items:flex-start;display:grid}.pm-package,.ps-format-landscape .pm-package{grid-template-columns:1fr;min-height:0}.pm-package-media{height:150px}.pm-price-box{justify-items:start;text-align:left}.pm-hotels,.pm-flight-strip,.pm-footer{grid-template-columns:1fr}.ps-format-landscape .pm-packages{grid-template-columns:1fr}}
@media print{.no-print,.admin-top,.admin-side,.ps-hero,.ps-builder,.ps-output-head{display:none!important}.admin-wrap,.admin-main{display:block!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important}.poster-studio-v2{padding:0!important;margin:0!important}.ps-poster-output{display:block!important}.poster-masterpiece{box-shadow:none!important;border:0!important;border-radius:0!important;margin:0 auto!important;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact}.poster-masterpiece:last-child{page-break-after:auto}}

/* ===== Poster Studio Pro Rescue: fixed premium output layout ===== */
.poster-masterpiece{
  --pm-bg:#fbf4e5;
  --pm-ink:#0b1220;
  --pm-muted:#475569;
  --pm-panel:#ffffff;
  --pm-line:rgba(15,23,42,.12);
  --pm-accent:#0f5132;
  --pm-accent2:#d6a738;
  --pm-dark:#07182f;
  padding:30px!important;
  gap:12px!important;
  grid-template-rows:126px 50px minmax(0,1fr) 70px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.poster-masterpiece *{box-sizing:border-box;}
.pm-bg-orb{opacity:.26!important;}
.pm-bg-orb.one{width:280px!important;height:280px!important;right:-105px!important;top:-95px!important;}
.pm-bg-orb.two{width:190px!important;height:190px!important;left:-100px!important;bottom:120px!important;}
.pm-header{
  height:126px!important;
  min-height:126px!important;
  padding:18px 22px!important;
  border-radius:24px!important;
  background:#07182f!important;
  box-shadow:0 14px 34px rgba(7,24,47,.18)!important;
  overflow:hidden!important;
}
.ps-theme-elite .pm-header,
.ps-theme-emerald .pm-header,
.ps-theme-clean .pm-header{background:#07182f!important;}
.ps-theme-midnight .pm-header{background:#020b16!important;}
.pm-brand{grid-template-columns:72px minmax(0,1fr)!important;gap:16px!important;}
.pm-logo{width:72px!important;height:72px!important;border-radius:19px!important;padding:8px!important;background:#fff!important;}
.pm-logo:empty:before{content:'R';font-weight:900;color:#0f5132;font-size:1.65rem;}
.pm-brand small{font-size:.7rem!important;margin-bottom:4px!important;color:#d6a738!important;letter-spacing:.11em!important;}
.pm-brand h1{font-size:2.42rem!important;line-height:.98!important;color:#fff!important;letter-spacing:-.045em!important;max-width:690px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.pm-brand p{margin-top:4px!important;font-size:.98rem!important;line-height:1.25!important;color:rgba(255,255,255,.78)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.pm-contact{gap:4px!important;align-self:center!important;}
.pm-contact strong{font-size:1rem!important;color:#fff!important;}
.pm-contact span{font-size:.92rem!important;color:rgba(255,255,255,.82)!important;}
.pm-contact em{font-size:.82rem!important;padding:6px 10px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;}
.pm-agent-note{
  height:50px!important;
  min-height:50px!important;
  padding:10px 18px!important;
  border-radius:17px!important;
  background:#d6a738!important;
  color:#08111f!important;
  line-height:1.2!important;
  overflow:hidden!important;
}
.pm-agent-note span{font-size:.7rem!important;padding:6px 10px!important;background:rgba(255,255,255,.42)!important;color:#08111f!important;white-space:nowrap!important;}
.pm-packages{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  min-height:0!important;
  overflow:hidden!important;
}
.pm-package{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:128px minmax(0,1fr) 152px!important;
  gap:12px!important;
  padding:12px!important;
  border-radius:21px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 7px 18px rgba(15,23,42,.07)!important;
  color:#0b1220!important;
}
.pm-package-media{
  height:100%!important;
  min-height:0!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#e8eef5,#cfd7df)!important;
}
.pm-package-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.pm-package-media span{margin:8px!important;padding:5px 9px!important;font-size:.68rem!important;background:#fff!important;color:#0f5132!important;box-shadow:0 8px 18px rgba(15,23,42,.16)!important;}
.pm-package-main{gap:6px!important;align-content:start!important;overflow:hidden!important;min-width:0!important;}
.pm-topline{gap:6px!important;min-height:28px!important;overflow:hidden!important;}
.pm-topline b,.pm-topline span{padding:5px 9px!important;font-size:.68rem!important;line-height:1!important;white-space:nowrap!important;}
.pm-topline b{background:#07182f!important;color:#fff!important;max-width:125px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.pm-topline span{background:#ecfdf3!important;color:#0f5132!important;border:1px solid #bde7cd!important;}
.pm-package h2{
  margin:0!important;
  color:#0b1220!important;
  font-size:1.42rem!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  -webkit-line-clamp:2!important;
  max-height:3em!important;
  overflow:hidden!important;
}
.pm-info-row{font-size:.82rem!important;line-height:1.1!important;color:#111827!important;font-weight:850!important;gap:7px!important;min-width:0!important;}
.pm-info-row span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.pm-info-row i{width:22px!important;height:22px!important;border-radius:8px!important;background:#f1f5f9!important;color:#0f5132!important;}
.pm-flight-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
.pm-flight-strip span{padding:6px 7px!important;border-radius:11px!important;background:#f8fafc!important;color:#334155!important;font-size:.67rem!important;line-height:1.15!important;min-width:0!important;overflow:hidden!important;}
.pm-flight-strip b{font-size:.72rem!important;color:#0b1220!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.pm-hotels{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
.pm-hotels span{padding:6px 7px!important;border-radius:11px!important;background:#fff8ec!important;color:#0b1220!important;font-size:.66rem!important;line-height:1.14!important;min-width:0!important;overflow:hidden!important;}
.pm-hotels b{font-size:.61rem!important;color:#0f5132!important;}
.pm-price-box{
  padding:11px!important;
  border-radius:17px!important;
  background:#0f5132!important;
  color:#fff!important;
  gap:6px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.pm-airline-logo{width:42px!important;height:42px!important;border-radius:13px!important;background:#fff!important;}
.pm-price-box small{font-size:.7rem!important;color:rgba(255,255,255,.72)!important;}
.pm-price-box strong{font-size:1rem!important;color:#fff!important;line-height:1.05!important;white-space:nowrap!important;}
.pm-price-pills{gap:5px!important;margin-top:2px!important;}
.pm-price-pills span{padding:6px 7px!important;border-radius:10px!important;font-size:.68rem!important;color:#fff!important;border:1px solid rgba(255,255,255,.20)!important;background:rgba(255,255,255,.10)!important;}
.pm-price-pills b{color:#ffe7a3!important;white-space:nowrap!important;}
.pm-footer{
  height:70px!important;
  min-height:70px!important;
  padding:12px 18px!important;
  border-radius:20px!important;
  background:#07182f!important;
  color:#fff!important;
  overflow:hidden!important;
  align-items:center!important;
}
.pm-footer strong,.pm-footer b{font-size:.92rem!important;color:#d6a738!important;}
.pm-footer span{font-size:.84rem!important;color:rgba(255,255,255,.82)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.ps-format-landscape{
  grid-template-rows:118px 48px minmax(0,1fr) 64px!important;
  padding:28px!important;
}
.ps-format-landscape .pm-header{height:118px!important;min-height:118px!important;}
.ps-format-landscape .pm-brand h1{font-size:2.2rem!important;}
.ps-format-landscape .pm-packages{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.ps-format-landscape .pm-package{grid-template-columns:118px minmax(0,1fr) 140px!important;}
.ps-format-landscape .pm-footer{height:64px!important;min-height:64px!important;}
.ps-format-landscape .pm-package h2{font-size:1.18rem!important;}
@media(max-width:760px){
  .poster-masterpiece{height:auto!important;min-height:0!important;padding:18px!important;grid-template-rows:auto auto auto auto!important;overflow:visible!important;}
  .pm-header{height:auto!important;min-height:0!important;}
  .pm-brand h1{font-size:1.45rem!important;white-space:normal!important;}
  .pm-brand p{white-space:normal!important;}
  .pm-packages{grid-template-rows:none!important;overflow:visible!important;}
  .pm-package{grid-template-columns:1fr!important;height:auto!important;overflow:visible!important;}
  .pm-package-media{height:150px!important;}
  .pm-footer{height:auto!important;min-height:0!important;grid-template-columns:1fr!important;}
}
@media print{
  .poster-masterpiece{width:1080px!important;height:1350px!important;max-width:none!important;}
  .poster-masterpiece.ps-format-landscape{width:1350px!important;height:1080px!important;}
}

/* ===== POSTER STUDIO FINAL CLEAN REDESIGN — stable 4-card layout ===== */
.poster-masterpiece,
.poster-masterpiece.ps-format-instagram{
  width:1080px!important;
  height:1350px!important;
  max-width:none!important;
  padding:44px!important;
  border-radius:28px!important;
  background:#f6efe3!important;
  border:1px solid #e2d2b6!important;
  color:#0b1220!important;
  display:grid!important;
  grid-template-rows:148px 54px minmax(0,1fr) 64px!important;
  gap:18px!important;
  overflow:hidden!important;
  box-shadow:0 28px 80px rgba(15,23,42,.18)!important;
}
.poster-masterpiece.ps-format-landscape{
  width:1350px!important;
  height:1080px!important;
  grid-template-rows:132px 50px minmax(0,1fr) 58px!important;
  gap:16px!important;
}
.poster-masterpiece *{box-sizing:border-box!important;}
.poster-masterpiece .pm-bg-orb{display:none!important;}

.poster-masterpiece .pm-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px!important;
  gap:22px!important;
  align-items:center!important;
  padding:20px 24px!important;
  border-radius:24px!important;
  background:#07182f!important;
  color:#fff!important;
  overflow:hidden!important;
}
.poster-masterpiece .pm-brand{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;min-width:0!important;}
.poster-masterpiece .pm-logo{width:72px!important;height:72px!important;border-radius:20px!important;background:#fff!important;padding:8px!important;overflow:hidden!important;display:grid!important;place-items:center!important;}
.poster-masterpiece .pm-logo img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
.poster-masterpiece .pm-brand small{font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#f5d58d!important;font-weight:900!important;margin:0 0 7px!important;display:block!important;}
.poster-masterpiece .pm-brand h1{font-size:44px!important;line-height:.95!important;letter-spacing:-.055em!important;margin:0!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-brand p{font-size:15px!important;line-height:1.25!important;margin:6px 0 0!important;color:rgba(255,255,255,.82)!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-contact{display:grid!important;gap:5px!important;text-align:right!important;justify-items:end!important;align-content:center!important;min-width:0!important;}
.poster-masterpiece .pm-contact strong{color:#fff!important;font-size:16px!important;line-height:1.1!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-contact span{color:#f5d58d!important;font-size:16px!important;font-weight:900!important;white-space:nowrap!important;}
.poster-masterpiece .pm-contact em{font-style:normal!important;background:rgba(255,255,255,.13)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;padding:7px 13px!important;font-size:14px!important;font-weight:900!important;}

.poster-masterpiece .pm-agent-note{
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 18px!important;
  border-radius:18px!important;
  background:#c99a35!important;
  color:#0b1220!important;
  border:1px solid rgba(0,0,0,.08)!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:900!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.poster-masterpiece.ps-format-landscape .pm-agent-note{height:50px!important;font-size:15px!important;}
.poster-masterpiece .pm-agent-note span{flex:0 0 auto!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.44)!important;color:#0b1220!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.06em!important;font-weight:1000!important;}

.poster-masterpiece .pm-packages,
.poster-masterpiece.ps-format-landscape .pm-packages{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:0!important;
  overflow:hidden!important;
}
.poster-masterpiece.ps-format-landscape .pm-packages{gap:16px!important;}

.poster-masterpiece .pm-package,
.poster-masterpiece.ps-format-landscape .pm-package{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 160px!important;
  grid-template-rows:1fr!important;
  grid-template-areas:"main price"!important;
  gap:16px!important;
  padding:20px!important;
  border-radius:24px!important;
  background:#fff!important;
  color:#0b1220!important;
  border:1px solid #e6d8bd!important;
  box-shadow:0 13px 30px rgba(15,23,42,.08)!important;
}
.poster-masterpiece.ps-format-landscape .pm-package{grid-template-columns:minmax(0,1fr) 145px!important;padding:18px!important;gap:14px!important;border-radius:22px!important;}
.poster-masterpiece .pm-package-media{display:none!important;}
.poster-masterpiece .pm-package-main{grid-area:main!important;min-width:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto auto auto auto 1fr!important;gap:10px!important;align-content:start!important;}
.poster-masterpiece.ps-format-landscape .pm-package-main{gap:8px!important;}
.poster-masterpiece .pm-price-box{
  grid-area:price!important;
  height:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto auto auto 1fr!important;
  align-content:start!important;
  justify-items:stretch!important;
  text-align:left!important;
  gap:8px!important;
  padding:14px!important;
  border-radius:19px!important;
  background:#07182f!important;
  color:#fff!important;
  overflow:hidden!important;
}
.poster-masterpiece.ps-format-landscape .pm-price-box{padding:12px!important;border-radius:17px!important;gap:7px!important;}
.poster-masterpiece .pm-airline-logo{width:46px!important;height:46px!important;border-radius:15px!important;background:#fff!important;display:grid!important;place-items:center!important;overflow:hidden!important;color:#164b36!important;justify-self:end!important;}
.poster-masterpiece.ps-format-landscape .pm-airline-logo{width:40px!important;height:40px!important;border-radius:13px!important;}
.poster-masterpiece .pm-airline-logo img{width:100%!important;height:100%!important;object-fit:contain!important;padding:7px!important;display:block!important;}
.poster-masterpiece .pm-price-box small{color:rgba(255,255,255,.72)!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important;}
.poster-masterpiece .pm-price-box strong{color:#f5d58d!important;font-size:22px!important;line-height:1.05!important;font-weight:1000!important;word-break:break-word!important;}
.poster-masterpiece.ps-format-landscape .pm-price-box strong{font-size:19px!important;}
.poster-masterpiece .pm-price-pills{display:grid!important;gap:7px!important;margin:2px 0 0!important;width:100%!important;align-self:start!important;}
.poster-masterpiece .pm-price-pills span{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:11px!important;padding:8px!important;color:#fff!important;font-size:12px!important;line-height:1!important;font-weight:800!important;}
.poster-masterpiece .pm-price-pills b{color:#f5d58d!important;font-weight:1000!important;}
.poster-masterpiece.ps-format-landscape .pm-price-pills span{font-size:11px!important;padding:7px!important;}

.poster-masterpiece .pm-topline{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important;}
.poster-masterpiece .pm-topline b,
.poster-masterpiece .pm-topline span{display:inline-flex!important;align-items:center!important;height:28px!important;padding:0 10px!important;border-radius:999px!important;font-size:12px!important;line-height:1!important;font-weight:1000!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-topline b{background:#07182f!important;color:#fff!important;max-width:145px!important;}
.poster-masterpiece .pm-topline span{background:#ecfdf5!important;color:#164b36!important;border:1px solid #bfe8d2!important;}
.poster-masterpiece.ps-format-landscape .pm-topline b,
.poster-masterpiece.ps-format-landscape .pm-topline span{height:25px!important;font-size:11px!important;padding:0 9px!important;}
.poster-masterpiece .pm-package h2{
  color:#0b1220!important;
  font-size:27px!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  margin:0!important;
  font-weight:1000!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:58px!important;
}
.poster-masterpiece.ps-format-landscape .pm-package h2{font-size:22px!important;min-height:47px!important;}
.poster-masterpiece .pm-info-row{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;color:#0f172a!important;font-size:15px!important;line-height:1.12!important;font-weight:900!important;}
.poster-masterpiece.ps-format-landscape .pm-info-row{font-size:13px!important;}
.poster-masterpiece .pm-info-row i{width:26px!important;height:26px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#f3f7f5!important;color:#164b36!important;flex:0 0 auto!important;font-style:normal!important;}
.poster-masterpiece .pm-info-row span{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-flight-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;min-width:0!important;}
.poster-masterpiece .pm-flight-strip span{display:grid!important;gap:3px!important;min-width:0!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:13px!important;padding:8px!important;color:#334155!important;font-size:12px!important;line-height:1.15!important;overflow:hidden!important;}
.poster-masterpiece .pm-flight-strip b{color:#0b1220!important;font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece.ps-format-landscape .pm-flight-strip span{font-size:10px!important;padding:7px!important;border-radius:11px!important;}
.poster-masterpiece.ps-format-landscape .pm-flight-strip b{font-size:11px!important;}
.poster-masterpiece .pm-hotels{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-self:end!important;min-height:0!important;}
.poster-masterpiece .pm-hotels span{display:grid!important;gap:3px!important;min-width:0!important;background:#fff8ec!important;border:1px solid #f0ddb7!important;border-radius:13px!important;padding:9px!important;color:#0b1220!important;font-size:12px!important;line-height:1.18!important;font-weight:800!important;overflow:hidden!important;}
.poster-masterpiece .pm-hotels b{color:#164b36!important;text-transform:uppercase!important;font-size:10px!important;letter-spacing:.06em!important;font-weight:1000!important;}
.poster-masterpiece.ps-format-landscape .pm-hotels span{font-size:10px!important;padding:7px!important;border-radius:11px!important;}
.poster-masterpiece.ps-format-landscape .pm-hotels b{font-size:9px!important;}

.poster-masterpiece .pm-footer{
  height:64px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  align-items:center!important;
  padding:12px 18px!important;
  border-radius:20px!important;
  background:#07182f!important;
  color:#fff!important;
  overflow:hidden!important;
}
.poster-masterpiece.ps-format-landscape .pm-footer{height:58px!important;padding:10px 16px!important;border-radius:18px!important;}
.poster-masterpiece .pm-footer div{display:grid!important;gap:2px!important;min-width:0!important;}
.poster-masterpiece .pm-footer strong,
.poster-masterpiece .pm-footer b{color:#f5d58d!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-footer span{color:rgba(255,255,255,.82)!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

.poster-masterpiece.ps-theme-emerald{background:#f3fbf5!important;border-color:#cfe7da!important;}
.poster-masterpiece.ps-theme-emerald .pm-header,
.poster-masterpiece.ps-theme-emerald .pm-footer,
.poster-masterpiece.ps-theme-emerald .pm-price-box,
.poster-masterpiece.ps-theme-emerald .pm-topline b{background:#123d2c!important;}
.poster-masterpiece.ps-theme-midnight{background:#07182f!important;border-color:#1d3553!important;}
.poster-masterpiece.ps-theme-midnight .pm-package{border-color:#d7b464!important;}
.poster-masterpiece.ps-theme-clean{background:#ffffff!important;border-color:#e2e8f0!important;}

@media print{
  .poster-masterpiece,.poster-masterpiece.ps-format-instagram{width:1080px!important;height:1350px!important;max-width:none!important;box-shadow:none!important;page-break-after:always!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important;}
  .poster-masterpiece.ps-format-landscape{width:1350px!important;height:1080px!important;}
}
@media(max-width:760px){
  .poster-masterpiece,.poster-masterpiece.ps-format-instagram,.poster-masterpiece.ps-format-landscape{width:100%!important;height:auto!important;min-height:0!important;max-width:100%!important;grid-template-rows:auto auto auto auto!important;padding:18px!important;overflow:visible!important;}
  .poster-masterpiece .pm-header{grid-template-columns:1fr!important;}
  .poster-masterpiece .pm-brand{grid-template-columns:56px 1fr!important;}
  .poster-masterpiece .pm-logo{width:56px!important;height:56px!important;}
  .poster-masterpiece .pm-brand h1{font-size:1.55rem!important;white-space:normal!important;}
  .poster-masterpiece .pm-brand p{white-space:normal!important;}
  .poster-masterpiece .pm-contact{text-align:left!important;justify-items:start!important;}
  .poster-masterpiece .pm-agent-note{height:auto!important;white-space:normal!important;display:grid!important;align-items:start!important;padding:12px!important;}
  .poster-masterpiece .pm-packages{grid-template-columns:1fr!important;grid-template-rows:none!important;overflow:visible!important;}
  .poster-masterpiece .pm-package{grid-template-columns:1fr!important;grid-template-areas:"main" "price"!important;height:auto!important;overflow:visible!important;}
  .poster-masterpiece .pm-price-box{height:auto!important;}
  .poster-masterpiece .pm-hotels,.poster-masterpiece .pm-flight-strip,.poster-masterpiece .pm-footer{grid-template-columns:1fr!important;height:auto!important;}
}

/* ========================================================================
   ROYAL INN MASTER UI STABILIZER — FINAL GLOBAL CSS CLEANUP
   Purpose: normalize spacing, contrast, mobile cards, admin CRM, print and poster
   without changing PHP/API/DB logic.
   ======================================================================== */
:root{
  --ri-navy:#07182f;
  --ri-navy-2:#0b2442;
  --ri-green:#0f513d;
  --ri-green-2:#164b36;
  --ri-gold:#c99a35;
  --ri-gold-soft:#f8e6b5;
  --ri-bg:#f4f7fb;
  --ri-card:#ffffff;
  --ri-soft:#f8fafc;
  --ri-border:#d8e2ef;
  --ri-border-2:#c8d6e8;
  --ri-text:#0f172a;
  --ri-muted:#475569;
  --ri-faint:#64748b;
  --ri-danger:#b91c1c;
  --ri-success:#166534;
  --ri-warning:#92400e;
  --ri-radius:18px;
  --ri-shadow:0 18px 44px rgba(15,23,42,.08);
  --ri-shadow-sm:0 8px 22px rgba(15,23,42,.06);
}

html{overflow-x:hidden!important;}
body{overflow-x:hidden!important;}
body:not(.admin-body){background:var(--ri-bg)!important;color:var(--ri-text)!important;font-family:Inter,Manrope,Outfit,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;}
body:not(.admin-body) p,
body:not(.admin-body) li,
body:not(.admin-body) span{color:inherit;}
body:not(.admin-body) .container{max-width:1240px!important;padding-left:18px!important;padding-right:18px!important;}

/* Universal readable surfaces */
.card,.form-wrap,.detail-card,.confirm-card,.booking-preview-card,.hotel-card,.package-card,.news-card,.seat-card,
.pkg-detail-panel,.pkg-detail-price-card,.pkg-hotel-detail-card,.pkg-itinerary-card,.pkg-detail-sticky-card,
.admin-panel-card,.admin-clean-card,.crm-panel,.crm-table-card,.api-dashboard-panel,.api-editor-card,.api-vendor-card,
.ps-panel,.poster-builder-panel{
  background:var(--ri-card)!important;
  color:var(--ri-text)!important;
  border:1px solid var(--ri-border)!important;
  border-radius:var(--ri-radius)!important;
  box-shadow:var(--ri-shadow-sm)!important;
}
.card *, .form-wrap *, .detail-card *, .confirm-card *, .booking-preview-card *,
.pkg-detail-panel *, .pkg-detail-price-card *, .pkg-hotel-detail-card *, .pkg-itinerary-card *, .pkg-detail-sticky-card *,
.admin-panel-card *, .admin-clean-card *, .crm-panel *, .crm-table-card *, .api-dashboard-panel *, .api-editor-card *, .api-vendor-card *,
.ps-panel *, .poster-builder-panel *{text-shadow:none!important;}

/* Typography contrast baseline */
h1,h2,h3,h4,h5,h6,.title,.section-title,.admin-page-hero h1,.admin-page-head h1,.crm-detail-head h1,
.pkg-detail-title-card h1,.pkg-section-head h2,.package-card h3,.hotel-card h3,.seat-card h3{color:var(--ri-text)!important;}
.muted,.muted-text,.muted-small,.muted-mini,.desc,.lead,.field-hint,.crm-print-muted{color:var(--ri-muted)!important;}
small,label,.label,.lbl,.field label,.field-group label{color:var(--ri-text)!important;font-weight:800!important;letter-spacing:.025em;}

/* Buttons — readable everywhere */
.btn,button.btn,a.btn,.filter-btn,.upc-book-btn,.pkg-mobile-sticky-book .btn,.booking-actions .btn,.action-links .btn{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:13px!important;
  padding:10px 16px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.btn-primary,.btn-sky,.filter-btn,.upc-book-btn,.package-card .btn,.hotel-card .btn,.seat-card .btn,
a[href*="packages.php?ref"].btn,a[href*="package-detail"].btn{
  background:var(--ri-green)!important;
  border:1px solid var(--ri-green)!important;
  color:#fff!important;
}
.btn-primary *,.btn-sky *,.filter-btn *,.upc-book-btn *,.package-card .btn *,.hotel-card .btn *,.seat-card .btn *{color:#fff!important;}
.btn-primary:hover,.btn-sky:hover,.filter-btn:hover,.upc-book-btn:hover,.package-card .btn:hover,.hotel-card .btn:hover,.seat-card .btn:hover{background:#0b3f2f!important;color:#fff!important;}
.btn-ghost,.btn.btn-ghost,a.btn-ghost{
  background:#fff!important;
  color:var(--ri-navy)!important;
  border:1px solid var(--ri-border-2)!important;
}
.btn-danger,.danger{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important;}
.btn-sm{min-height:36px!important;padding:8px 12px!important;font-size:.86rem!important;}
.btn-xs{min-height:30px!important;padding:6px 10px!important;font-size:.78rem!important;}

/* Forms — no light text on white */
input,select,textarea,.input{
  background:#fff!important;
  color:var(--ri-text)!important;
  border:1px solid var(--ri-border-2)!important;
  border-radius:13px!important;
  min-height:42px!important;
  padding:10px 12px!important;
  font:inherit!important;
  outline:none!important;
}
textarea{min-height:110px!important;line-height:1.45!important;resize:vertical;}
input::placeholder,textarea::placeholder{color:#64748b!important;opacity:1!important;}
input:focus,select:focus,textarea:focus,.input:focus{
  border-color:var(--ri-green)!important;
  box-shadow:0 0 0 4px rgba(15,81,61,.11)!important;
}
.form-grid,.crm-form-grid,.grid-2,.detail-grid-2{gap:16px!important;}
.field,.field-group{display:grid!important;gap:7px!important;min-width:0!important;}
.inline-form{gap:10px!important;align-items:center!important;flex-wrap:wrap!important;}

/* Tables — readable + scroll safe */
.table-wrap,.admin-table-wrap,.admin-table-scroll,.booking-table-wrap,.print-table-wrap{width:100%!important;overflow:auto!important;border-radius:16px!important;border:1px solid var(--ri-border)!important;background:#fff!important;}
table,.admin-table,.crm-table,.booking-master-table,.print-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;color:var(--ri-text)!important;}
th,td,.admin-table th,.admin-table td,.crm-table th,.crm-table td,.booking-master-table th,.booking-master-table td{
  color:var(--ri-text)!important;
  background:#fff!important;
  border-bottom:1px solid #e5edf6!important;
  padding:13px 14px!important;
  vertical-align:top!important;
  line-height:1.35!important;
}
th,.admin-table th,.crm-table th,.booking-master-table th{background:#f8fafc!important;color:#334155!important;font-weight:1000!important;font-size:.76rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
tr:hover td{background:#fbfdff!important;}

/* Badges and pills */
.badge,.booking-status-pill,.crm-status-pill,.booking-type-pill,.crm-type-pill,.print-status,.api-source,.airline-code-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  border-radius:999px!important;padding:6px 10px!important;font-weight:900!important;line-height:1!important;
  border:1px solid transparent!important;text-decoration:none!important;
}
.badge-approved,.status-confirmed,.crm-status-confirmed,.booking-status-confirmed,.badge-completed,.status-completed,.crm-status-completed{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important;}
.badge-pending,.status-new,.crm-status-new_request,.booking-status-new_request,.crm-status-details_pending,.booking-status-details_pending{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
.badge-rejected,.status-rejected,.crm-status-rejected,.booking-status-rejected,.crm-status-cancelled,.booking-status-cancelled{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important;}
.status-contacted,.crm-status-contacted,.booking-status-contacted{background:#fef3c7!important;color:#92400e!important;border-color:#fde68a!important;}
.status-ticket_issued,.crm-status-ticket_issued,.status-hotel_confirmed,.crm-status-hotel_confirmed{background:#ede9fe!important;color:#5b21b6!important;border-color:#ddd6fe!important;}

/* Header / hero: keep premium dark but readable */
.hero,.package-detail-hero,.booking-choice-hero,.admin-page-hero,.ps-hero{
  background:linear-gradient(135deg,#07182f,#0b2442)!important;
  color:#fff!important;
}
.hero h1,.hero h2,.hero h3,.hero p,.hero span,
.package-detail-hero h1,.package-detail-hero h2,.package-detail-hero h3,.package-detail-hero p,.package-detail-hero span,
.booking-choice-hero h1,.booking-choice-hero p,.ps-hero h1,.ps-hero p,.admin-page-hero h1,.admin-page-hero p{color:#fff!important;}
.hero-eyebrow,.hero .eyebrow,.admin-eyebrow,.ps-kicker,.api-kicker{color:#f5d58d!important;}
.hero-stats strong,.hero-stats span,.hero-stats b{color:#fff!important;}

/* Public package listing cards — desktop stable */
.umrah-package-card{background:#fff!important;color:var(--ri-text)!important;border-color:#d8e2ef!important;box-shadow:var(--ri-shadow)!important;overflow:hidden!important;}
.umrah-package-card *{text-shadow:none!important;}
.upc-topline,.upc-status,.upc-info-box,.upc-hotel-card,.upc-price-panel,.upc-services,.upc-gifts{color:var(--ri-text)!important;}
.upc-airline-panel,.upc-code-box,.upc-price-panel h4,.upc-book-btn{background:var(--ri-green)!important;color:#fff!important;}
.upc-airline-panel *,.upc-code-box *,.upc-price-panel h4 *,.upc-book-btn *{color:#fff!important;}
.upc-route-chip,.upc-available,.upc-seats{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.25)!important;color:#fff!important;}
.upc-route-chip *,.upc-available *,.upc-seats *{color:#fff!important;}
.upc-info-box,.upc-flight-card,.upc-hotel-card,.upc-gifts,.upc-services span{background:#fff!important;border:1px solid var(--ri-border)!important;color:var(--ri-text)!important;}
.upc-info-box b,.upc-info-box strong,.upc-flight-card b,.upc-hotel-card h3,.upc-price-row strong{color:var(--ri-text)!important;}
.upc-info-box small,.upc-flight-card small,.upc-hotel-card small,.upc-price-row span{color:var(--ri-muted)!important;}
.upc-links a,.upc-links span{color:#0b5e42!important;font-weight:900!important;}
.upc-price-row.best{background:#f7fbf8!important;}
.upc-price-row{background:#fff!important;color:var(--ri-text)!important;border-color:#e5edf6!important;}

/* Package mini ref inside CRM/detail — requested white */
.package-dashboard-list .pkg-item,
.crm-selected-item,
.booking-preview-card .package-dashboard-list .pkg-item,
.booking-preview-card .pkg-item{
  background:var(--ri-green)!important;
  color:#fff!important;
  border-color:var(--ri-green)!important;
}
.package-dashboard-list .pkg-item *,
.crm-selected-item *,
.booking-preview-card .pkg-item *,
.package-dashboard-list .pkg-item a,
.crm-selected-item a{color:#fff!important;}
.package-dashboard-list .pkg-item a,
.crm-selected-item a{font-weight:1000!important;text-decoration:underline!important;text-underline-offset:3px!important;}

/* Package detail page */
.package-detail-shell,.package-detail-body,.pkg-detail-main,.pkg-detail-sidebar{color:var(--ri-text)!important;}
.pkg-detail-title-card,.pkg-detail-panel,.pkg-detail-price-card,.pkg-hotel-detail-card,.pkg-itinerary-card{background:#fff!important;color:var(--ri-text)!important;border:1px solid var(--ri-border)!important;}
.pkg-detail-title-card *,.pkg-detail-panel *,.pkg-detail-price-card *,.pkg-hotel-detail-card *,.pkg-itinerary-card *{color:inherit;}
.pkg-detail-kickers span,.pkg-flight-label,.pkg-section-head span{background:#f8fafc!important;color:var(--ri-green)!important;border:1px solid #dbe7e0!important;}
.pkg-room-row{background:#fff!important;border:1px solid var(--ri-border)!important;color:var(--ri-text)!important;}
.pkg-service-grid span,.pkg-service-grid div{background:#f8fafc!important;border:1px solid var(--ri-border)!important;color:var(--ri-text)!important;}
.pkg-mobile-sticky-book{background:#fff!important;border-top:1px solid var(--ri-border)!important;box-shadow:0 -12px 32px rgba(15,23,42,.08)!important;}

/* Booking CRM + admin */
body.admin-body{background:#f3f6fb!important;color:var(--ri-text)!important;font-family:Inter,Manrope,Outfit,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;}
.admin-wrap{background:#f3f6fb!important;color:var(--ri-text)!important;}
.admin-side{background:#07182f!important;color:#fff!important;}
.admin-side *{color:rgba(255,255,255,.88)!important;}
.admin-brand-copy strong,.admin-nav-title{color:#fff!important;}
.admin-nav a{color:rgba(255,255,255,.84)!important;border-radius:12px!important;}
.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.10)!important;color:#fff!important;}
.admin-main{padding:26px!important;min-width:0!important;}
.admin-top{background:#fff!important;color:var(--ri-text)!important;border-bottom:1px solid var(--ri-border)!important;}
.admin-page-head,.crm-page-head,.admin-detail-toolbar{gap:14px!important;margin-bottom:18px!important;}
.crm-detail-grid{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;gap:18px!important;align-items:start!important;}
.crm-summary-grid,.crm-print-grid,.confirm-grid{gap:12px!important;}
.crm-print-item,.confirm-cell{background:#f8fafc!important;border:1px solid var(--ri-border)!important;color:var(--ri-text)!important;border-radius:14px!important;padding:12px!important;}
.crm-panel-title,.crm-form-section-title{color:var(--ri-text)!important;font-weight:1000!important;}
.crm-timeline-item{background:#fff!important;border:1px solid var(--ri-border)!important;color:var(--ri-text)!important;border-radius:14px!important;padding:12px!important;}
.crm-traveller-card{background:#fff!important;color:var(--ri-text)!important;border:1px solid var(--ri-border)!important;border-radius:16px!important;padding:14px!important;}
.booking-type-overview,.crm-type-overview,.crm-stats-grid,.dash-cards,.admin-stat-grid{gap:14px!important;}
.booking-type-card,.crm-type-card,.crm-stat-card,.admin-stat-grid > *,.dash-cards > *{background:#fff!important;color:var(--ri-text)!important;border:1px solid var(--ri-border)!important;border-radius:18px!important;box-shadow:var(--ri-shadow-sm)!important;}

/* Type colors */
.booking-type-package,.crm-type-package,.type-package{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;}
.booking-type-hotel,.crm-type-hotel,.type-hotel{border-color:#bbf7d0!important;background:#f0fdf4!important;color:#166534!important;}
.booking-type-group_ticket,.crm-type-group_ticket,.type-group_ticket,.type-seat{border-color:#fed7aa!important;background:#fff7ed!important;color:#c2410c!important;}

/* Poster builder studio — stable editor UI */
.poster-studio-v2,.ps-builder{color:var(--ri-text)!important;}
.ps-hero{border-radius:24px!important;padding:24px!important;margin-bottom:18px!important;box-shadow:var(--ri-shadow)!important;}
.ps-choice,.ps-pkg-card{background:#fff!important;color:var(--ri-text)!important;border:1px solid var(--ri-border)!important;border-radius:16px!important;box-shadow:var(--ri-shadow-sm)!important;}
.ps-choice *,.ps-pkg-card *{color:var(--ri-text)!important;}
.ps-choice input:checked + *, .ps-pkg-option input:checked + .ps-pkg-card{outline:3px solid rgba(15,81,61,.16)!important;border-color:var(--ri-green)!important;}
.ps-tool-buttons{gap:8px!important;flex-wrap:wrap!important;}
.ps-submit-row{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.ps-poster-output{overflow:auto!important;padding:14px!important;background:#eef3f8!important;border-radius:20px!important;border:1px solid var(--ri-border)!important;}

/* Poster output — print-safe and no overlap */
.poster-masterpiece{font-family:Inter,Manrope,system-ui,sans-serif!important;}
.poster-masterpiece *{font-family:inherit!important;}
.poster-masterpiece .pm-package h2{font-family:inherit!important;}
.poster-masterpiece .pm-package,.poster-masterpiece .pm-header,.poster-masterpiece .pm-footer,.poster-masterpiece .pm-agent-note{break-inside:avoid!important;}

/* Print / PDF: black on white, no shadows */
.print-sheet,.crm-print-sheet{background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important;box-shadow:none!important;}
.print-sheet *,.crm-print-sheet *{color:#111827!important;text-shadow:none!important;}
.print-head,.crm-print-head{background:#fff!important;color:#111827!important;border-bottom:2px solid #111827!important;}
.print-status{background:#f3f4f6!important;color:#111827!important;border-color:#d1d5db!important;}
.crm-itinerary-hero,.crm-itinerary-section,.crm-hotel-section,.crm-print-section{background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important;}
.crm-itinerary-grid > *,.crm-hotel-print-grid > *,.crm-confirm-print-grid > *,.crm-print-mini-grid > *{background:#f9fafb!important;color:#111827!important;border:1px solid #d1d5db!important;border-radius:10px!important;padding:10px!important;}
.crm-print-traveller-card{background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important;border-radius:12px!important;}

@media print{
  body{background:#fff!important;color:#000!important;}
  .no-print,.admin-side,.admin-top,.navbar,.footer,.pkg-mobile-sticky-book{display:none!important;}
  .admin-wrap,.admin-main{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:#fff!important;}
  .crm-print-sheet,.print-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:18mm!important;border:0!important;box-shadow:none!important;}
  .crm-print-sheet *,.print-sheet *{color:#000!important;background-color:transparent!important;text-shadow:none!important;box-shadow:none!important;}
  .crm-print-item,.confirm-cell,.crm-print-traveller-card,.crm-itinerary-section,.crm-hotel-section,.crm-print-section{border:1px solid #999!important;background:#fff!important;}
  a[href]:after{content:""!important;}
}

/* Mobile — Booking.com-like cards and admin cards */
@media(max-width:900px){
  body:not(.admin-body) .container{padding-left:14px!important;padding-right:14px!important;}
  .admin-main{padding:16px!important;}
  .crm-detail-grid,.package-detail-layout,.pkg-detail-hero-grid,.pkg-detail-main,.pkg-detail-sidebar{grid-template-columns:1fr!important;}
  .grid-2,.grid-3,.grid-4,.cols-2,.cols-3,.cols-4,.form-grid,.crm-form-grid,.detail-grid-2{grid-template-columns:1fr!important;}
  .admin-table,.crm-table,.booking-master-table{min-width:760px!important;}
  .admin-table-scroll,.admin-table-wrap,.booking-table-wrap{overflow-x:auto!important;}
}

@media(max-width:760px){
  body:not(.admin-body){font-size:15px!important;}
  h1{font-size:2rem!important;line-height:1.08!important;}
  h2{font-size:1.55rem!important;}
  h3{font-size:1.16rem!important;}
  .hero,.package-detail-hero,.booking-choice-hero{padding:44px 0 28px!important;}
  .hero p,.package-detail-hero p{font-size:.95rem!important;line-height:1.45!important;}
  .filter-bar,.hero-search,.listing-search{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:14px!important;border-radius:18px!important;}
  .filter-bar .btn,.hero-search .btn,.listing-search .btn{width:100%!important;}

  /* Mobile package cards: compact listing */
  .umrah-package-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:18px!important;
    margin:0 0 14px!important;
    overflow:hidden!important;
  }
  .upc-airline-panel,.upc-code-box,.upc-services,.upc-gifts,.upc-hotel-card,.upc-price-panel .upc-gifts{display:none!important;}
  .upc-topline{padding:12px 14px!important;background:#fff!important;border-bottom:1px solid var(--ri-border)!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
  .upc-info-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:12px!important;background:#fff!important;}
  .upc-info-box{padding:10px!important;border-radius:13px!important;min-height:0!important;}
  .upc-info-box small{font-size:.68rem!important;}
  .upc-info-box strong,.upc-info-box b{font-size:.9rem!important;line-height:1.25!important;}
  .upc-hotel-grid{display:none!important;}
  .upc-price-panel{display:grid!important;padding:12px!important;background:#fff!important;border-top:1px solid var(--ri-border)!important;}
  .upc-price-panel h4{display:none!important;}
  .upc-price-row{padding:9px 0!important;border-bottom:1px solid #eef2f7!important;display:flex!important;justify-content:space-between!important;gap:12px!important;}
  .upc-price-row:nth-of-type(n+4){display:none!important;}
  .upc-book-btn{width:100%!important;margin-top:10px!important;min-height:46px!important;}
  .upc-mobile-summary{display:grid!important;gap:8px!important;padding:12px 14px!important;background:#fff!important;}
  .upc-mobile-summary *{color:var(--ri-text)!important;}
  .mobile-seats,.seats-left,.upc-seats-mobile{display:inline-flex!important;background:#ecfdf5!important;color:#166534!important;border:1px solid #bbf7d0!important;border-radius:999px!important;padding:6px 10px!important;font-weight:1000!important;}

  /* Admin mobile */
  body.admin-body{font-size:14px!important;}
  .admin-wrap{display:block!important;}
  .admin-side{position:relative!important;width:100%!important;min-height:0!important;border-radius:0!important;}
  .admin-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:10px!important;}
  .admin-nav-title{grid-column:1/-1!important;margin-top:8px!important;}
  .admin-nav a{padding:10px!important;font-size:.86rem!important;}
  .admin-main{padding:14px!important;}
  .admin-page-hero,.admin-panel-card,.crm-panel,.admin-clean-card{border-radius:18px!important;padding:14px!important;}
  .admin-page-head,.crm-page-head,.admin-detail-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .admin-page-head .btn,.admin-detail-toolbar .btn,.crm-head-actions .btn{width:100%!important;}
  .booking-row,.crm-table-card{display:grid!important;gap:10px!important;padding:14px!important;background:#fff!important;border:1px solid var(--ri-border)!important;border-radius:16px!important;box-shadow:var(--ri-shadow-sm)!important;}
}

@media(max-width:480px){
  .container{padding-left:12px!important;padding-right:12px!important;}
  .btn,button.btn,a.btn{width:100%!important;white-space:normal!important;}
  .upc-info-grid{grid-template-columns:1fr!important;}
  input,select,textarea{width:100%!important;}
  .poster-masterpiece{transform-origin:top left!important;}
}

/* =====================================================================
   FINAL SEARCH/FILTER BAR FIX
   Fixes overlap in package search, group-seat search, and all public filters.
   Keeps buttons readable and mobile-first responsive.
   ===================================================================== */
body:not(.admin-body) .listing-search,
body:not(.admin-body) .seat-filter-bar,
body:not(.admin-body) .filter-bar,
body:not(.admin-body) .hero-search-form{
  display:grid!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  align-items:end!important;
  gap:14px!important;
  overflow:visible!important;
}

/* Package/search listing forms: force stable desktop columns */
body:not(.admin-body) .listing-search{
  grid-template-columns:minmax(260px,1.65fr) minmax(130px,.65fr) minmax(150px,.75fr) minmax(170px,.85fr) minmax(190px,1fr) minmax(110px,.55fr)!important;
  padding:18px!important;
  border-radius:24px!important;
}

/* Group seats / route search: from-to-date-airline-trip-search */
body:not(.admin-body) .seat-filter-bar,
body:not(.admin-body) .filter-bar{
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(160px,.85fr) minmax(160px,.85fr) minmax(160px,.85fr) minmax(110px,.55fr)!important;
  padding:18px!important;
  border-radius:24px!important;
}

body:not(.admin-body) .listing-search > *,
body:not(.admin-body) .seat-filter-bar > *,
body:not(.admin-body) .filter-bar > *,
body:not(.admin-body) .hero-search-form > *{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

body:not(.admin-body) .listing-search-field,
body:not(.admin-body) .filter-field,
body:not(.admin-body) .seat-filter-bar .field,
body:not(.admin-body) .filter-bar .field,
body:not(.admin-body) .hero-search-form .field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}

body:not(.admin-body) .listing-search label,
body:not(.admin-body) .seat-filter-bar label,
body:not(.admin-body) .filter-bar label,
body:not(.admin-body) .hero-search-form label{
  display:block!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.15!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  color:#334155!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

body:not(.admin-body) .listing-search input,
body:not(.admin-body) .listing-search select,
body:not(.admin-body) .seat-filter-bar input,
body:not(.admin-body) .seat-filter-bar select,
body:not(.admin-body) .filter-bar input,
body:not(.admin-body) .filter-bar select,
body:not(.admin-body) .hero-search-form input,
body:not(.admin-body) .hero-search-form select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:48px!important;
  box-sizing:border-box!important;
  padding:0 14px!important;
  border-radius:14px!important;
  border:1px solid #b7d8ca!important;
  background:#ffffff!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:48px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:none!important;
  outline:none!important;
}

body:not(.admin-body) .listing-search input::placeholder,
body:not(.admin-body) .seat-filter-bar input::placeholder,
body:not(.admin-body) .filter-bar input::placeholder,
body:not(.admin-body) .hero-search-form input::placeholder{
  color:#64748b!important;
  opacity:1!important;
  font-weight:600!important;
}

body:not(.admin-body) .listing-search select,
body:not(.admin-body) .seat-filter-bar select,
body:not(.admin-body) .filter-bar select,
body:not(.admin-body) .hero-search-form select{
  padding-right:34px!important;
  white-space:nowrap!important;
}

body:not(.admin-body) .listing-search input:focus,
body:not(.admin-body) .listing-search select:focus,
body:not(.admin-body) .seat-filter-bar input:focus,
body:not(.admin-body) .seat-filter-bar select:focus,
body:not(.admin-body) .filter-bar input:focus,
body:not(.admin-body) .filter-bar select:focus,
body:not(.admin-body) .hero-search-form input:focus,
body:not(.admin-body) .hero-search-form select:focus{
  border-color:#0b5b46!important;
  box-shadow:0 0 0 4px rgba(11,91,70,.10)!important;
}

body:not(.admin-body) .listing-search .btn,
body:not(.admin-body) .listing-search button,
body:not(.admin-body) .seat-filter-bar .btn,
body:not(.admin-body) .seat-filter-bar button,
body:not(.admin-body) .filter-bar .btn,
body:not(.admin-body) .filter-bar button,
body:not(.admin-body) .hero-search-form .btn,
body:not(.admin-body) .hero-search-form button{
  height:48px!important;
  min-height:48px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:14px!important;
  font-weight:900!important;
}

body:not(.admin-body) .listing-search .btn-primary,
body:not(.admin-body) .listing-search button[type="submit"],
body:not(.admin-body) .seat-filter-bar .btn-primary,
body:not(.admin-body) .seat-filter-bar button[type="submit"],
body:not(.admin-body) .filter-bar .btn-primary,
body:not(.admin-body) .filter-bar button[type="submit"],
body:not(.admin-body) .hero-search-form .btn-primary,
body:not(.admin-body) .hero-search-form button[type="submit"]{
  background:#075b45!important;
  border-color:#075b45!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(7,91,69,.16)!important;
}

body:not(.admin-body) .listing-search .btn-ghost,
body:not(.admin-body) .seat-filter-bar .btn-ghost,
body:not(.admin-body) .filter-bar .btn-ghost,
body:not(.admin-body) .hero-search-form .btn-ghost{
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  color:#0f172a!important;
}

body:not(.admin-body) .listing-search .search-context,
body:not(.admin-body) .listing-search .search-context-tag,
body:not(.admin-body) .search-context{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* prevent lonely reset input/button from stretching into bad second row */
body:not(.admin-body) .listing-search > .btn-ghost,
body:not(.admin-body) .listing-search > a.btn-ghost{
  grid-column:auto!important;
}

@media(max-width:1200px){
  body:not(.admin-body) .listing-search{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body:not(.admin-body) .seat-filter-bar,
  body:not(.admin-body) .filter-bar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:820px){
  body:not(.admin-body) .listing-search,
  body:not(.admin-body) .seat-filter-bar,
  body:not(.admin-body) .filter-bar,
  body:not(.admin-body) .hero-search-form{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:20px!important;
  }
  body:not(.admin-body) .listing-search input,
  body:not(.admin-body) .listing-search select,
  body:not(.admin-body) .seat-filter-bar input,
  body:not(.admin-body) .seat-filter-bar select,
  body:not(.admin-body) .filter-bar input,
  body:not(.admin-body) .filter-bar select,
  body:not(.admin-body) .hero-search-form input,
  body:not(.admin-body) .hero-search-form select,
  body:not(.admin-body) .listing-search .btn,
  body:not(.admin-body) .listing-search button,
  body:not(.admin-body) .seat-filter-bar .btn,
  body:not(.admin-body) .seat-filter-bar button,
  body:not(.admin-body) .filter-bar .btn,
  body:not(.admin-body) .filter-bar button,
  body:not(.admin-body) .hero-search-form .btn,
  body:not(.admin-body) .hero-search-form button{
    height:46px!important;
    min-height:46px!important;
    font-size:14px!important;
  }
}

@media(max-width:560px){
  body:not(.admin-body) .listing-search,
  body:not(.admin-body) .seat-filter-bar,
  body:not(.admin-body) .filter-bar,
  body:not(.admin-body) .hero-search-form{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  body:not(.admin-body) .listing-search label,
  body:not(.admin-body) .seat-filter-bar label,
  body:not(.admin-body) .filter-bar label,
  body:not(.admin-body) .hero-search-form label{
    white-space:normal!important;
  }
  body:not(.admin-body) .listing-search .btn,
  body:not(.admin-body) .listing-search button,
  body:not(.admin-body) .seat-filter-bar .btn,
  body:not(.admin-body) .seat-filter-bar button,
  body:not(.admin-body) .filter-bar .btn,
  body:not(.admin-body) .filter-bar button,
  body:not(.admin-body) .hero-search-form .btn,
  body:not(.admin-body) .hero-search-form button{
    width:100%!important;
  }
}

/* ===== Admin CRM + block-seat filter contrast rescue ===== */
.admin-body .crm-page-head .eyebrow,
.admin-main .crm-page-head .eyebrow,
.admin-main span.eyebrow{
  color:#050b18!important;
  background:transparent!important;
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#050b18!important;
}

/* Block seats / inquiries status filters: selected green, unselected white/black */
.admin-main .filter-bar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
  margin-bottom:20px!important;
}
.admin-main .filter-bar .filter-btn,
.admin-main .filter-bar a.filter-btn,
.admin-main a.filter-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  border:1px solid #cbd5e1!important;
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
.admin-main .filter-bar .filter-btn:hover,
.admin-main .filter-bar a.filter-btn:hover,
.admin-main a.filter-btn:hover{
  background:#f8fafc!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border-color:#94a3b8!important;
}
.admin-main .filter-bar .filter-btn.active,
.admin-main .filter-bar a.filter-btn.active,
.admin-main a.filter-btn.active{
  background:#0f4c3a!important;
  border-color:#0f4c3a!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  box-shadow:0 12px 28px rgba(15,76,58,.20)!important;
}
.admin-main .filter-bar .filter-btn.active:hover,
.admin-main .filter-bar a.filter-btn.active:hover,
.admin-main a.filter-btn.active:hover{
  background:#0b3f2f!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Status badges for block-seat/inquiry states */
.admin-main .badge-contacted,
.admin-main .status-contacted{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#e0f2fe!important;
  color:#075985!important;
  border:1px solid #7dd3fc!important;
  font-weight:900!important;
}
.admin-main .badge-approved,
.admin-main .status-approved,
.admin-main .badge-confirmed,
.admin-main .status-confirmed{
  background:#dcfce7!important;
  color:#166534!important;
  border:1px solid #86efac!important;
  font-weight:900!important;
}
.admin-main .badge-pending,
.admin-main .status-pending{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fdba74!important;
  font-weight:900!important;
}
.admin-main .badge-rejected,
.admin-main .status-rejected{
  background:#fee2e2!important;
  color:#991b1b!important;
  border:1px solid #fca5a5!important;
  font-weight:900!important;
}

@media(max-width:720px){
  .admin-main .filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .admin-main .filter-bar .filter-btn,
  .admin-main .filter-bar a.filter-btn{width:100%!important;padding:10px 8px!important;font-size:.88rem!important;}
}

/* =====================================================================
   HOME MOBILE SEARCH TABS FIX
   Mobile home search shows ONE active search type only:
   Umrah Packages default, Hotels on tap, Group Seats on tap.
   Prevents all forms/buttons from opening together on phone.
   ===================================================================== */
body:not(.admin-body) .hero-search .hero-search-tabs{
  display:flex!important;
  gap:10px!important;
  width:100%!important;
  padding:8px!important;
  margin:0 0 14px!important;
  background:#f8fafc!important;
  border:1px solid #d8e2ee!important;
  border-radius:18px!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
body:not(.admin-body) .hero-search .hero-tab{
  flex:1 0 auto!important;
  min-width:max-content!important;
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 16px!important;
  border-radius:13px!important;
  border:1px solid #d8e2ee!important;
  background:#ffffff!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.045em!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body:not(.admin-body) .hero-search .hero-tab svg,
body:not(.admin-body) .hero-search .hero-tab .icon{color:currentColor!important;stroke:currentColor!important;}
body:not(.admin-body) .hero-search .hero-tab.active{
  background:#075b45!important;
  color:#ffffff!important;
  border-color:#075b45!important;
  box-shadow:0 10px 22px rgba(7,91,69,.18)!important;
}
body:not(.admin-body) .hero-search .hero-tab:not(.active):hover{
  background:#eef8f4!important;
  color:#075b45!important;
  border-color:#b7d8ca!important;
}
body:not(.admin-body) .hero-search .hero-search-form{
  display:none!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body:not(.admin-body) .hero-search .hero-search-form.active{
  display:grid!important;
}

@media(max-width:760px){
  body:not(.admin-body) .hero-search{
    margin-top:-16px!important;
    padding:12px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  body:not(.admin-body) .hero-search .hero-search-tabs{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:8px!important;
    padding:8px!important;
  }
  body:not(.admin-body) .hero-search .hero-tab{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    height:46px!important;
    font-size:13px!important;
  }
  body:not(.admin-body) .hero-search .hero-search-form{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:0!important;
  }
  body:not(.admin-body) .hero-search .hero-search-form:not(.active){
    display:none!important;
  }
  body:not(.admin-body) .hero-search .hero-search-form.active{
    display:grid!important;
  }
  body:not(.admin-body) .hero-search .hero-search-form .field{
    width:100%!important;
    margin:0!important;
    padding:11px 12px!important;
    border-radius:15px!important;
    background:#ffffff!important;
    border:1px solid #cfe0d8!important;
  }
  body:not(.admin-body) .hero-search .hero-search-form input,
  body:not(.admin-body) .hero-search .hero-search-form select{
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    border:1px solid #d8e2ee!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#0f172a!important;
    -webkit-text-fill-color:#0f172a!important;
    line-height:44px!important;
  }
  body:not(.admin-body) .hero-search .hero-search-form button[type="submit"],
  body:not(.admin-body) .hero-search .hero-search-form .btn-primary{
    height:48px!important;
    min-height:48px!important;
    width:100%!important;
    background:#075b45!important;
    border-color:#075b45!important;
    color:#ffffff!important;
    border-radius:14px!important;
  }
}

/* ===== Poster Studio: Manifest-style agency sheet (reference layout) ===== */
.poster-masterpiece{
  width:1080px!important;height:1350px!important;max-width:none!important;
  padding:26px 38px 28px!important;border-radius:28px!important;overflow:hidden!important;
  background:#fbf4e5!important;color:#07182f!important;border:1px solid #e7d4a6!important;
  box-shadow:0 28px 80px rgba(15,23,42,.16)!important;
  display:grid!important;grid-template-rows:156px 62px minmax(0,1fr) 68px!important;gap:14px!important;
}
.poster-masterpiece.ps-format-landscape{width:1350px!important;height:1080px!important;padding:24px 36px 26px!important;grid-template-rows:134px 54px minmax(0,1fr) 58px!important;gap:12px!important;}
.poster-masterpiece .pm-bg-orb{display:none!important;}
.poster-masterpiece .pm-header{
  padding:24px 26px!important;border-radius:24px!important;background:#07182f!important;color:#fff!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) 210px!important;gap:18px!important;align-items:center!important;
  box-shadow:0 18px 42px rgba(7,24,47,.20)!important;
}
.poster-masterpiece .pm-brand{display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;min-width:0!important;}
.poster-masterpiece.ps-format-landscape .pm-brand{grid-template-columns:70px minmax(0,1fr)!important;}
.poster-masterpiece .pm-logo{width:80px!important;height:80px!important;border-radius:20px!important;background:#fff!important;display:grid!important;place-items:center!important;padding:8px!important;overflow:hidden!important;}
.poster-masterpiece.ps-format-landscape .pm-logo{width:70px!important;height:70px!important;border-radius:18px!important;}
.poster-masterpiece .pm-logo img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
.poster-masterpiece .pm-brand small{color:#d6a737!important;font-size:12px!important;line-height:1!important;font-weight:1000!important;letter-spacing:.13em!important;text-transform:uppercase!important;margin:0 0 8px!important;display:block!important;}
.poster-masterpiece .pm-brand h1{color:#fff!important;font-size:46px!important;line-height:.95!important;margin:0!important;letter-spacing:-.045em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece.ps-format-landscape .pm-brand h1{font-size:40px!important;}
.poster-masterpiece .pm-brand p{color:rgba(255,255,255,.82)!important;font-size:16px!important;font-weight:800!important;line-height:1.25!important;margin:7px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece.ps-format-landscape .pm-brand p{font-size:14px!important;}
.poster-masterpiece .pm-contact{display:grid!important;gap:6px!important;text-align:right!important;justify-items:end!important;align-content:center!important;min-width:0!important;}
.poster-masterpiece .pm-contact strong{font-size:18px!important;line-height:1.1!important;color:#fff!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
.poster-masterpiece .pm-contact span{font-size:16px!important;color:#f4e4b8!important;font-weight:900!important;white-space:nowrap!important;}
.poster-masterpiece .pm-contact em{font-style:normal!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;border-radius:999px!important;padding:8px 13px!important;font-size:14px!important;font-weight:1000!important;}
.poster-masterpiece .pm-agent-note{
  min-height:0!important;height:62px!important;padding:0 18px!important;border-radius:18px!important;background:#d5a432!important;color:#07182f!important;
  border:1px solid rgba(7,24,47,.08)!important;display:flex!important;align-items:center!important;gap:14px!important;font-size:17px!important;font-weight:1000!important;line-height:1.15!important;
}
.poster-masterpiece.ps-format-landscape .pm-agent-note{height:54px!important;font-size:16px!important;}
.poster-masterpiece .pm-agent-note span{background:rgba(255,255,255,.40)!important;color:#07182f!important;border-radius:999px!important;padding:8px 13px!important;font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase!important;font-weight:1000!important;white-space:nowrap!important;}
.poster-masterpiece .pm-packages{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;gap:9px!important;min-height:0!important;overflow:hidden!important;}
.poster-masterpiece.ps-format-landscape .pm-packages{grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;gap:8px!important;}
.poster-masterpiece .pm-package{
  display:grid!important;grid-template-columns:88px minmax(0,1.05fr) minmax(0,1.05fr) 204px 222px!important;gap:9px!important;align-items:stretch!important;
  min-height:0!important;height:100%!important;padding:0!important;border-radius:16px!important;background:#fff!important;border:1px solid #ecd9ad!important;
  box-shadow:0 8px 18px rgba(15,23,42,.07)!important;overflow:hidden!important;color:#07182f!important;
}
.poster-masterpiece.ps-format-landscape .pm-package{grid-template-columns:90px minmax(0,1.1fr) minmax(0,1.1fr) 250px 272px!important;gap:9px!important;border-radius:15px!important;}
.poster-masterpiece .pm-package-media,.poster-masterpiece .pm-package-main,.poster-masterpiece .pm-price-box{display:none!important;}
.poster-masterpiece .pm-seat-rail{display:grid!important;grid-template-rows:auto auto 1fr auto!important;align-items:center!important;justify-items:center!important;gap:3px!important;background:#c99a35!important;color:#fff!important;padding:10px 7px!important;text-align:center!important;min-width:0!important;}
.poster-masterpiece .pm-seat-rail strong{font-size:38px!important;line-height:.9!important;color:#fff!important;font-weight:1000!important;letter-spacing:-.05em!important;}
.poster-masterpiece.ps-format-landscape .pm-seat-rail strong{font-size:34px!important;}
.poster-masterpiece .pm-seat-rail span{font-size:11px!important;text-transform:uppercase!important;font-weight:1000!important;color:#fff!important;letter-spacing:.04em!important;}
.poster-masterpiece .pm-seat-rail em,.poster-masterpiece .pm-seat-rail small{display:block!important;width:100%!important;border-radius:8px!important;background:#0f5132!important;color:#fff!important;font-style:normal!important;font-weight:1000!important;font-size:10px!important;line-height:1.1!important;padding:5px 4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-seat-rail small{background:#07182f!important;font-size:9px!important;}
.poster-masterpiece .pm-hotel-box{display:grid!important;grid-template-rows:auto 1fr auto!important;gap:5px!important;padding:13px 14px!important;color:#fff!important;min-width:0!important;overflow:hidden!important;}
.poster-masterpiece.ps-format-landscape .pm-hotel-box{padding:12px 14px!important;gap:4px!important;}
.poster-masterpiece .pm-makkah{background:#8d3327!important;}
.poster-masterpiece .pm-madinah{background:#164b36!important;}
.poster-masterpiece .pm-hotel-box small{display:block!important;font-size:11px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#f7d77b!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-hotel-box strong{display:block!important;font-size:18px!important;line-height:1.12!important;color:#fff!important;font-weight:1000!important;letter-spacing:.01em!important;text-transform:uppercase!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;}
.poster-masterpiece.ps-format-landscape .pm-hotel-box strong{font-size:17px!important;}
.poster-masterpiece .pm-hotel-box span{font-size:11px!important;line-height:1.1!important;color:rgba(255,255,255,.86)!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-price-matrix{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;border:1px solid #efdfbd!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;align-self:center!important;height:calc(100% - 12px)!important;margin:6px 0!important;}
.poster-masterpiece .pm-price-matrix span{display:grid!important;place-items:center!important;align-content:center!important;gap:2px!important;border-right:1px solid #efdfbd!important;border-bottom:1px solid #efdfbd!important;padding:3px!important;min-width:0!important;}
.poster-masterpiece .pm-price-matrix span:nth-child(2n){border-right:0!important;}
.poster-masterpiece .pm-price-matrix span:nth-last-child(-n+2){border-bottom:0!important;}
.poster-masterpiece .pm-price-matrix small{font-size:11px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:#07182f!important;font-weight:1000!important;}
.poster-masterpiece .pm-price-matrix b{font-size:18px!important;line-height:1!important;color:#0f5132!important;font-weight:1000!important;letter-spacing:-.03em!important;}
.poster-masterpiece.ps-format-landscape .pm-price-matrix b{font-size:17px!important;}
.poster-masterpiece .pm-flight-box{display:grid!important;grid-template-rows:auto auto 1fr 1fr!important;gap:3px!important;padding:10px 12px!important;border:1px solid #efdfbd!important;border-radius:12px!important;background:#fffefb!important;margin:6px 6px 6px 0!important;min-width:0!important;overflow:hidden!important;color:#07182f!important;}
.poster-masterpiece .pm-flight-box>strong{font-size:13px!important;line-height:1!important;color:#07182f!important;text-transform:uppercase!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-flight-box>em{font-style:normal!important;text-align:center!important;color:#c99a35!important;font-size:11px!important;line-height:1!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-flight-box div{display:grid!important;grid-template-columns:54px 1fr 1fr 1fr!important;gap:5px!important;align-items:center!important;font-size:10px!important;line-height:1!important;color:#07182f!important;font-weight:900!important;min-width:0!important;}
.poster-masterpiece .pm-flight-box div b{color:#0f5132!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-flight-box div span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#07182f!important;text-align:center!important;}
.poster-masterpiece .pm-footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;align-items:center!important;padding:14px 20px!important;border-radius:18px!important;background:#07182f!important;color:#fff!important;height:68px!important;min-height:0!important;}
.poster-masterpiece.ps-format-landscape .pm-footer{height:58px!important;padding:11px 18px!important;}
.poster-masterpiece .pm-footer strong,.poster-masterpiece .pm-footer b{display:block!important;color:#f5d58d!important;font-size:13px!important;line-height:1.05!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.poster-masterpiece .pm-footer span{display:block!important;color:#fff!important;font-size:13px!important;line-height:1.12!important;font-weight:800!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:900px){.poster-masterpiece{transform-origin:top left!important;}.ps-poster-output{overflow:auto!important;justify-content:start!important;}}
@media print{.poster-masterpiece{box-shadow:none!important;border-radius:0!important;margin:0 auto!important;page-break-after:always!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}.poster-masterpiece:last-child{page-break-after:auto!important;}}

/* === FINAL POSTER DOWNLOAD FIX: layout + contrast stabilization === */
.poster-masterpiece,
.poster-masterpiece *{box-sizing:border-box;}

.poster-masterpiece{
  background:#f7f1e5 !important;
  color:#0b1220 !important;
  padding:28px !important;
  gap:12px !important;
}
.poster-masterpiece.ps-format-landscape{padding:24px !important;gap:10px !important;}
.poster-masterpiece .pm-bg-orb{opacity:.28 !important;}

.poster-masterpiece .pm-header{
  background:#061b39 !important;
  border-radius:22px !important;
  padding:18px 22px !important;
  min-height:124px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:20px !important;
  align-items:center !important;
}
.poster-masterpiece .pm-brand{
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
}
.poster-masterpiece .pm-logo{
  width:72px !important;
  height:72px !important;
  border-radius:18px !important;
  background:#fff !important;
  padding:8px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12) !important;
}
.poster-masterpiece .pm-brand small{
  color:#c7d2e7 !important;
  font-size:12px !important;
  line-height:1 !important;
  margin-bottom:6px !important;
  white-space:normal !important;
}
.poster-masterpiece .pm-brand h1{
  color:#ffffff !important;
  font-size:34px !important;
  line-height:1.02 !important;
  margin:0 !important;
  font-weight:1000 !important;
  letter-spacing:-.03em !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  display:block !important;
}
.poster-masterpiece.ps-format-landscape .pm-brand h1{font-size:28px !important;}
.poster-masterpiece .pm-brand p{
  color:rgba(255,255,255,.84) !important;
  font-size:14px !important;
  line-height:1.25 !important;
  margin:6px 0 0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  display:block !important;
}
.poster-masterpiece.ps-format-landscape .pm-brand p{font-size:13px !important;}
.poster-masterpiece .pm-contact strong,
.poster-masterpiece .pm-contact span,
.poster-masterpiece .pm-contact em{
  color:#fff !important;
}
.poster-masterpiece .pm-contact strong{font-size:18px !important;font-weight:1000 !important;}
.poster-masterpiece .pm-contact span{font-size:14px !important;color:#f5d58d !important;font-weight:900 !important;}
.poster-masterpiece .pm-contact em{font-size:13px !important;padding:7px 12px !important;background:rgba(255,255,255,.12) !important;}

.poster-masterpiece .pm-agent-note{
  min-height:52px !important;
  height:auto !important;
  padding:12px 18px !important;
  background:#c99a35 !important;
  color:#0b1220 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
}
.poster-masterpiece .pm-agent-note span{
  color:#0b1220 !important;
  background:rgba(255,255,255,.42) !important;
  font-size:11px !important;
}

.poster-masterpiece .pm-packages{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.poster-masterpiece .pm-package,
.poster-masterpiece.ps-format-landscape .pm-package{
  display:grid !important;
  grid-template-columns:84px minmax(0,1.06fr) minmax(0,1.06fr) 212px 220px !important;
  gap:8px !important;
  align-items:stretch !important;
  min-height:0 !important;
  height:100% !important;
  padding:8px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid #e6d6b2 !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
  overflow:hidden !important;
}

.poster-masterpiece .pm-seat-rail{
  background:#c99a35 !important;
  color:#fff !important;
  border-radius:14px !important;
  padding:10px 6px !important;
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  gap:4px !important;
  justify-items:center !important;
  align-items:center !important;
}
.poster-masterpiece .pm-seat-rail strong{
  color:#fff !important;
  font-size:28px !important;
  line-height:.9 !important;
  font-weight:1000 !important;
}
.poster-masterpiece .pm-seat-rail span{
  color:#fff !important;
  font-size:10px !important;
  letter-spacing:.04em !important;
}
.poster-masterpiece .pm-seat-rail em,
.poster-masterpiece .pm-seat-rail small{
  width:100% !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:1.1 !important;
  padding:5px 4px !important;
  border-radius:8px !important;
  text-align:center !important;
}
.poster-masterpiece .pm-seat-rail em{background:#0f5132 !important;}
.poster-masterpiece .pm-seat-rail small{background:#061b39 !important;}

.poster-masterpiece .pm-hotel-box{
  border-radius:14px !important;
  padding:12px 14px !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
  gap:6px !important;
  overflow:hidden !important;
}
.poster-masterpiece .pm-makkah{background:#8e3328 !important;}
.poster-masterpiece .pm-madinah{background:#16583b !important;}
.poster-masterpiece .pm-hotel-box small{
  color:#f2d58c !important;
  font-size:10px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.poster-masterpiece .pm-hotel-box strong{
  color:#fff !important;
  font-size:15px !important;
  line-height:1.12 !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.poster-masterpiece .pm-hotel-box span{
  color:rgba(255,255,255,.88) !important;
  font-size:10px !important;
  line-height:1.12 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.poster-masterpiece .pm-price-matrix{
  height:100% !important;
  margin:0 !important;
  border-radius:14px !important;
  border:1px solid #ead8af !important;
  background:#fffdf8 !important;
  overflow:hidden !important;
}
.poster-masterpiece .pm-price-matrix span{
  padding:8px 6px !important;
  display:grid !important;
  place-items:center !important;
  gap:4px !important;
}
.poster-masterpiece .pm-price-matrix small{
  color:#566274 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.poster-masterpiece .pm-price-matrix b{
  color:#0f5132 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:1000 !important;
}

.poster-masterpiece .pm-flight-box{
  height:100% !important;
  margin:0 !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  background:#fffdf8 !important;
  border:1px solid #ead8af !important;
  display:grid !important;
  grid-template-rows:auto auto 1fr 1fr !important;
  gap:4px !important;
  overflow:hidden !important;
}
.poster-masterpiece .pm-flight-box > strong{
  color:#061b39 !important;
  font-size:12px !important;
  font-weight:1000 !important;
  line-height:1 !important;
}
.poster-masterpiece .pm-flight-box > em{
  color:#c99a35 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.poster-masterpiece .pm-flight-box div{
  display:grid !important;
  grid-template-columns:56px 70px 1fr 1fr !important;
  gap:4px !important;
  align-items:center !important;
  font-size:10px !important;
  line-height:1.05 !important;
  color:#0b1220 !important;
  min-width:0 !important;
}
.poster-masterpiece .pm-flight-box div b{
  color:#16583b !important;
  font-size:10px !important;
  font-weight:1000 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.poster-masterpiece .pm-flight-box div span{
  color:#0b1220 !important;
  font-size:10px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:center !important;
}

.poster-masterpiece .pm-footer{
  background:#061b39 !important;
  border-radius:18px !important;
  padding:12px 18px !important;
  min-height:62px !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:center !important;
}
.poster-masterpiece .pm-footer strong,
.poster-masterpiece .pm-footer b{
  color:#f4d58f !important;
  font-size:12px !important;
  font-weight:1000 !important;
  line-height:1.05 !important;
}
.poster-masterpiece .pm-footer span{
  color:#fff !important;
  font-size:12px !important;
  line-height:1.15 !important;
  margin-top:3px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

@media print{
  .poster-masterpiece{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
}

/* === POSTER PNG READABILITY HOTFIX v2 === */
.poster-masterpiece .pm-makkah,
.poster-masterpiece .pm-hotel-box.pm-makkah{
  background:#184f90 !important;
}
.poster-masterpiece .pm-madinah,
.poster-masterpiece .pm-hotel-box.pm-madinah{
  background:#16583b !important;
}
.poster-masterpiece .pm-hotel-box,
.poster-masterpiece .pm-hotel-box *{
  color:#ffffff !important;
}
.poster-masterpiece .pm-hotel-box small{
  color:#dbeafe !important;
  opacity:1 !important;
}
.poster-masterpiece .pm-hotel-box strong{
  color:#ffffff !important;
  font-size:17px !important;
  line-height:1.15 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.15) !important;
}
.poster-masterpiece .pm-hotel-box span{
  color:rgba(255,255,255,.94) !important;
  font-size:10px !important;
}

.poster-masterpiece .pm-price-matrix,
.poster-masterpiece .pm-price-matrix *{
  color:#0b1220 !important;
}
.poster-masterpiece .pm-price-matrix small{
  color:#475569 !important;
}
.poster-masterpiece .pm-price-matrix b{
  color:#0f172a !important;
  font-size:18px !important;
  font-weight:1000 !important;
}

.poster-masterpiece .pm-flight-box{
  background:#ffffff !important;
  border-color:#d8c39a !important;
}
.poster-masterpiece .pm-flight-box > strong{
  color:#061b39 !important;
  font-size:13px !important;
}
.poster-masterpiece .pm-flight-box > em{
  color:#b88718 !important;
  font-size:11px !important;
}
.poster-masterpiece .pm-flight-box div,
.poster-masterpiece .pm-flight-box div span,
.poster-masterpiece .pm-flight-box div b{
  opacity:1 !important;
}
.poster-masterpiece .pm-flight-box div{
  color:#1e293b !important;
  font-size:10px !important;
}
.poster-masterpiece .pm-flight-box div b{
  color:#14532d !important;
  font-size:10px !important;
}
.poster-masterpiece .pm-flight-box div span{
  color:#0f172a !important;
  font-size:10px !important;
}

.poster-masterpiece .pm-header,
.poster-masterpiece .pm-header *{
  color:#ffffff !important;
}
.poster-masterpiece .pm-brand small{color:#cbd5e1 !important;}
.poster-masterpiece .pm-brand h1{
  color:#ffffff !important;
  font-size:32px !important;
  text-shadow:0 1px 1px rgba(0,0,0,.18) !important;
}
.poster-masterpiece .pm-brand p{
  color:rgba(255,255,255,.88) !important;
}
.poster-masterpiece .pm-contact span{color:#f5d58d !important;}
.poster-masterpiece .pm-contact em{color:#ffffff !important;}

.poster-masterpiece .pm-seat-rail,
.poster-masterpiece .pm-seat-rail *{
  color:#ffffff !important;
}
.poster-masterpiece .pm-seat-rail strong{font-size:30px !important;}
.poster-masterpiece .pm-seat-rail em{background:#0b5d3b !important;}
.poster-masterpiece .pm-seat-rail small{background:#0a2a52 !important;}

.poster-masterpiece .pm-footer,
.poster-masterpiece .pm-footer *{
  color:#ffffff !important;
}
.poster-masterpiece .pm-footer strong,
.poster-masterpiece .pm-footer b{
  color:#f8d78a !important;
}
.poster-masterpiece .pm-footer span{
  color:#ffffff !important;
  opacity:1 !important;
}

.poster-masterpiece .pm-package{
  background:#fffdfa !important;
}
.poster-masterpiece .pm-agent-note{
  color:#0f172a !important;
}
.poster-masterpiece .pm-agent-note,
.poster-masterpiece .pm-agent-note *{
  opacity:1 !important;
}

/* === POSTER STUDIO SYSTEM REBUILD: final export stability + contact field === */
.ps-panel-main .field-hint{display:block;margin-top:6px;color:#64748b;font-size:.78rem;font-weight:700;line-height:1.35;}
.poster-exporting .poster-masterpiece{max-width:none!important;transform:none!important;box-shadow:none!important;}
.poster-exporting .poster-masterpiece *{filter:none!important;}
.poster-masterpiece .pm-header{overflow:hidden!important;}
.poster-masterpiece .pm-contact{min-width:160px!important;}
.poster-masterpiece .pm-contact span:empty::after{content:'Contact on WhatsApp';color:#f5d58d!important;}
.poster-masterpiece .pm-flight-box div span:empty::after{content:'TBA';color:#64748b!important;}
.poster-masterpiece .pm-flight-box div b:empty::after{content:'Flight';color:#14532d!important;}
.poster-masterpiece .pm-hotel-box strong,
.poster-masterpiece .pm-flight-box strong,
.poster-masterpiece .pm-price-matrix b{opacity:1!important;visibility:visible!important;}
.poster-masterpiece .pm-makkah{background:#184f90!important;}
.poster-masterpiece .pm-hotel-box strong{color:#fff!important;}
.poster-masterpiece .pm-hotel-box small{color:#dbeafe!important;}
.poster-masterpiece .pm-hotel-box span{color:rgba(255,255,255,.94)!important;}
.poster-masterpiece .pm-brand h1{color:#fff!important;opacity:1!important;}
.poster-masterpiece .pm-brand p{color:rgba(255,255,255,.9)!important;opacity:1!important;}
.poster-masterpiece .pm-agent-note{overflow:hidden!important;}
.poster-masterpiece .pm-flight-box{overflow:hidden!important;}
.poster-masterpiece .pm-flight-box div{overflow:hidden!important;}
.poster-masterpiece .pm-flight-box div *{min-width:0!important;}

/* === NEW RESPONSIVE SVG POSTER BUILDER - CLEAN REBUILD === */
.poster-builder-pro{--pb-navy:#061b39;--pb-gold:#d2a12d;--pb-blue:#185a9d;--pb-green:#145c3d;--pb-cream:#f7f1e5;--pb-ink:#0f172a;display:grid;gap:22px;color:var(--pb-ink)}
.pb-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;border-radius:24px;background:linear-gradient(135deg,#061b39,#12335f);color:#fff;box-shadow:0 18px 45px rgba(6,27,57,.16)}
.pb-hero span{display:inline-flex;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:rgba(210,161,45,.18);color:#f8d78a;font-weight:900;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.pb-hero h2{margin:0;color:#fff;font-size:clamp(1.4rem,2.4vw,2.15rem);line-height:1}.pb-hero p{margin:8px 0 0;color:rgba(255,255,255,.82);max-width:760px}.pb-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pb-panel{background:#fff;border:1px solid #dbe3ee;border-radius:24px;padding:20px;box-shadow:0 16px 45px rgba(15,23,42,.06)}.pb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pb-package-head{display:flex;gap:10px;align-items:center;margin:18px 0 14px}.pb-package-head .input{flex:1}.pb-package-head strong{white-space:nowrap;color:#0f172a}.pb-package-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:610px;overflow:auto;padding:2px}.pb-pkg{display:block;cursor:pointer}.pb-pkg input{position:absolute;opacity:0;pointer-events:none}.pb-pkg span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04);transition:.15s ease}.pb-pkg input:checked+span{border-color:#145c3d;box-shadow:0 0 0 3px rgba(20,92,61,.13);background:#fbfffd}.pb-pkg b{grid-column:1/-1;color:#0f172a;font-size:.95rem;line-height:1.25}.pb-pkg small{color:#64748b;line-height:1.3}.pb-pkg em{font-style:normal;font-weight:1000;color:#145c3d;white-space:nowrap;align-self:center}.pb-submit{display:flex;justify-content:flex-end;margin-top:16px}.pb-output-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid #dbe3ee;border-radius:20px;background:#fff}.pb-output-head strong{color:#0f172a}.pb-output-head span{color:#64748b}.pb-output{display:grid;gap:28px;justify-items:center;overflow:auto;padding-bottom:12px}.pb-svg-frame{background:#e9edf3;padding:14px;border-radius:22px;box-shadow:0 22px 60px rgba(15,23,42,.16);max-width:100%;overflow:auto}.pb-svg-frame svg{display:block;max-width:100%;height:auto;background:#f7f1e5;border-radius:26px}.poster-builder-pro .btn-primary,.poster-builder-pro .btn-primary:visited{background:#145c3d!important;color:#fff!important;border-color:#145c3d!important}.poster-builder-pro .btn-ghost{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important}.poster-builder-pro .input{color:#0f172a!important;background:#fff!important;border-color:#cbd5e1!important}.poster-builder-pro label{color:#334155!important;font-weight:900!important}
@media(max-width:980px){.pb-hero{align-items:flex-start;flex-direction:column}.pb-actions{justify-content:flex-start}.pb-grid{grid-template-columns:1fr}.pb-package-head{align-items:stretch;flex-direction:column}.pb-package-picker{grid-template-columns:1fr;max-height:none}.pb-pkg span{grid-template-columns:1fr}.pb-pkg em{justify-self:start}.pb-submit{justify-content:stretch}.pb-submit .btn{width:100%}.pb-svg-frame{padding:8px;width:100%;}.pb-output{justify-items:start}.pb-svg-frame svg{width:1080px;max-width:none}}
@media print{.poster-builder-pro .no-print,.pb-hero,.pb-panel,.pb-output-head{display:none!important}.pb-output{display:block!important}.pb-svg-frame{box-shadow:none!important;background:transparent!important;padding:0!important;page-break-after:always}.pb-svg-frame:last-child{page-break-after:auto}.pb-svg-frame svg{width:100%!important;height:auto!important;border-radius:0!important}}

/* === Poster Builder white UI + seat visibility + footer full text === */
.poster-builder-pro{
  background:#ffffff!important;
  color:#0f172a!important;
}
.poster-builder-pro .pb-hero{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #dbe3ee!important;
  box-shadow:0 14px 40px rgba(15,23,42,.06)!important;
}
.poster-builder-pro .pb-hero span{
  background:#eff6ff!important;
  color:#185a9d!important;
  border:1px solid #bfdbfe!important;
}
.poster-builder-pro .pb-hero h2,
.poster-builder-pro .pb-hero p{
  color:#0f172a!important;
}
.poster-builder-pro .pb-panel,
.poster-builder-pro .pb-output-head{
  background:#ffffff!important;
  border:1px solid #dbe3ee!important;
  box-shadow:0 14px 40px rgba(15,23,42,.05)!important;
}
.poster-builder-pro .pb-pkg span{
  position:relative!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  padding:14px!important;
  padding-top:44px!important;
  background:#ffffff!important;
}
.poster-builder-pro .pb-seat-chip{
  position:absolute!important;
  top:12px!important;
  left:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-style:normal!important;
  font-size:.75rem!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.02em!important;
  z-index:2!important;
}
.poster-builder-pro .pb-seat-chip.has-seats{
  background:#ecfdf5!important;
  color:#166534!important;
  border:1px solid #bbf7d0!important;
}
.poster-builder-pro .pb-seat-chip.no-seats{
  background:#f8fafc!important;
  color:#475569!important;
  border:1px solid #e2e8f0!important;
}
.poster-builder-pro .pb-pkg input:checked + span .pb-seat-chip.has-seats{
  background:#145c3d!important;
  color:#ffffff!important;
  border-color:#145c3d!important;
}
.poster-builder-pro .pb-pkg b{
  color:#0f172a!important;
}
.poster-builder-pro .pb-pkg small{
  color:#475569!important;
}
.poster-builder-pro .pb-pkg em{
  color:#145c3d!important;
}
.poster-builder-pro .pb-svg-frame{
  background:#ffffff!important;
  border:1px solid #dbe3ee!important;
}
@media(max-width:980px){
  .poster-builder-pro .pb-package-head{background:#fff!important;}
  .poster-builder-pro .pb-pkg span{grid-template-columns:1fr!important;}
}

/* === PACKAGE SUMMARY WHITE TEXT FIX === */
.booking-preview-card,
.booking-preview-card .booking-preview-top,
.booking-preview-card .booking-preview-facts,
.booking-preview-card .booking-preview-price,
.admin-body .package-summary-card,
.admin-body .crm-package-summary,
.admin-body .package-selected-summary,
.package-summary-card,
.crm-package-summary,
.package-selected-summary{
  background:#145c3d!important;
  color:#fff!important;
  border-color:#145c3d!important;
}
.booking-preview-card *,
.admin-body .package-summary-card *,
.admin-body .crm-package-summary *,
.admin-body .package-selected-summary *,
.package-summary-card *,
.crm-package-summary *,
.package-selected-summary *{
  color:#fff!important;
}
.booking-preview-card b,
.booking-preview-card strong,
.booking-preview-card small,
.booking-preview-card span,
.booking-preview-card p,
.booking-preview-card a,
.admin-body .package-summary-card b,
.admin-body .package-summary-card strong,
.admin-body .package-summary-card small,
.admin-body .package-summary-card span,
.admin-body .package-summary-card p,
.admin-body .package-summary-card a,
.admin-body .crm-package-summary b,
.admin-body .crm-package-summary strong,
.admin-body .crm-package-summary small,
.admin-body .crm-package-summary span,
.admin-body .crm-package-summary p,
.admin-body .crm-package-summary a,
.admin-body .package-selected-summary b,
.admin-body .package-selected-summary strong,
.admin-body .package-selected-summary small,
.admin-body .package-selected-summary span,
.admin-body .package-selected-summary p,
.admin-body .package-selected-summary a{
  color:#fff!important;
}
.booking-preview-card .booking-preview-price{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:18px!important;
}
.booking-preview-card .booking-preview-facts span{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.booking-preview-card .booking-preview-facts span b,
.booking-preview-card .booking-preview-price small{
  color:#fff!important;
  opacity:1!important;
}

/* === CRM selected package block hard contrast fix === */
.admin-shell .crm-selected-item,
.crm-panel .crm-selected-item,
.crm-selected-item{
  background:#0f5b42!important;
  border:1px solid #0f5b42!important;
  color:#ffffff!important;
}
.admin-shell .crm-selected-item strong,
.admin-shell .crm-selected-item p,
.admin-shell .crm-selected-item span,
.admin-shell .crm-selected-item b,
.admin-shell .crm-selected-item em,
.admin-shell .crm-selected-item small,
.admin-shell .crm-selected-item a,
.crm-panel .crm-selected-item strong,
.crm-panel .crm-selected-item p,
.crm-panel .crm-selected-item span,
.crm-panel .crm-selected-item b,
.crm-panel .crm-selected-item em,
.crm-panel .crm-selected-item small,
.crm-panel .crm-selected-item a,
.crm-selected-item strong,
.crm-selected-item p,
.crm-selected-item span,
.crm-selected-item b,
.crm-selected-item em,
.crm-selected-item small,
.crm-selected-item a{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:none!important;
}
.crm-selected-item strong{font-weight:1000!important;display:block!important;}
.crm-selected-item p{font-weight:700!important;line-height:1.65!important;}
.crm-selected-item ::selection{
  background:#073b2b!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.crm-selected-item::-moz-selection,
.crm-selected-item *::-moz-selection{
  background:#073b2b!important;
  color:#ffffff!important;
}

/* === Royal Inn Poster Builder v3: clean responsive UI === */
.rpb-clean,
.rpb-clean *{box-sizing:border-box;}
.rpb-clean{background:#fff!important;color:#0f172a!important;}
.rpb-clean .pb-hero,
.rpb-clean .pb-panel,
.rpb-clean .pb-output-head{background:#fff!important;border:1px solid #dbe5f1!important;box-shadow:0 18px 48px rgba(15,23,42,.06)!important;}
.rpb-clean .pb-hero{border-radius:24px!important;padding:20px!important;display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:center!important;margin-bottom:18px!important;}
.rpb-clean .pb-hero span{color:#145c3d!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.76rem!important;}
.rpb-clean .pb-hero h2{color:#061b39!important;margin:6px 0 4px!important;font-size:clamp(1.5rem,2vw,2.15rem)!important;}
.rpb-clean .pb-hero p{color:#475569!important;margin:0!important;}
.rpb-clean .pb-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.rpb-clean .pb-panel{border-radius:24px!important;padding:20px!important;margin-bottom:22px!important;}
.rpb-clean .pb-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-bottom:18px!important;}
.rpb-clean .field-group label{display:block!important;color:#334155!important;font-size:.78rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important;margin-bottom:7px!important;}
.rpb-clean .input{background:#fff!important;color:#0f172a!important;border:1px solid #cbd8e8!important;border-radius:14px!important;min-height:46px!important;padding:11px 13px!important;width:100%!important;box-shadow:none!important;}
.rpb-clean .input:focus{outline:0!important;border-color:#145c3d!important;box-shadow:0 0 0 3px rgba(20,92,61,.12)!important;}
.rpb-clean .pb-package-head{display:grid!important;grid-template-columns:minmax(240px,1fr) auto auto auto auto!important;gap:10px!important;align-items:center!important;margin:10px 0 14px!important;}
.rpb-clean .pb-package-head strong{color:#061b39!important;white-space:nowrap!important;}
.rpb-clean .pb-package-picker{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-height:620px!important;overflow:auto!important;padding:2px!important;}
.rpb-clean .pb-pkg{display:block!important;cursor:pointer!important;}
.rpb-clean .pb-pkg input{position:absolute!important;opacity:0!important;pointer-events:none!important;}
.rpb-clean .pb-pkg>span{display:grid!important;gap:5px!important;position:relative!important;border:1px solid #dbe5f1!important;border-radius:18px!important;background:#fff!important;padding:14px 14px 14px 132px!important;min-height:126px!important;box-shadow:0 8px 28px rgba(15,23,42,.04)!important;transition:.16s ease!important;}
.rpb-clean .pb-pkg input:checked+span{border-color:#145c3d!important;background:#f6fffa!important;box-shadow:0 0 0 3px rgba(20,92,61,.12),0 18px 34px rgba(15,23,42,.06)!important;}
.rpb-clean .pb-seat-chip{position:absolute!important;left:14px!important;top:14px!important;width:100px!important;height:98px!important;border-radius:16px!important;display:grid!important;place-items:center!important;text-align:center!important;font-style:normal!important;font-weight:1000!important;text-transform:uppercase!important;font-size:.82rem!important;line-height:1.2!important;padding:10px!important;}
.rpb-clean .pb-seat-chip.has-seats{background:#d2a12d!important;color:#061b39!important;}
.rpb-clean .pb-seat-chip.no-seats{background:#f1f5f9!important;color:#475569!important;}
.rpb-clean .pb-pkg b{color:#061b39!important;font-size:.98rem!important;line-height:1.25!important;}
.rpb-clean .pb-pkg small{color:#475569!important;line-height:1.25!important;}
.rpb-clean .pb-pkg em{color:#145c3d!important;font-style:normal!important;font-weight:1000!important;}
.rpb-clean .pb-submit{margin-top:16px!important;display:flex!important;justify-content:flex-end!important;}
.rpb-clean .pb-output-head{border-radius:20px!important;padding:16px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:18px!important;}
.rpb-clean .pb-output-head strong{display:block!important;color:#061b39!important;}
.rpb-clean .pb-output-head span{color:#475569!important;}
.rpb-clean .pb-output{display:grid!important;gap:26px!important;justify-items:center!important;overflow:auto!important;padding-bottom:20px!important;}
.rpb-clean .pb-svg-frame{background:#fff!important;border-radius:26px!important;padding:12px!important;border:1px solid #dbe5f1!important;box-shadow:0 22px 70px rgba(15,23,42,.12)!important;max-width:100%!important;overflow:auto!important;}
.rpb-clean .pb-svg-frame svg{display:block!important;max-width:100%!important;height:auto!important;}
@media(max-width:900px){
  .rpb-clean .pb-hero{display:grid!important;}
  .rpb-clean .pb-actions{justify-content:flex-start!important;}
  .rpb-clean .pb-grid{grid-template-columns:1fr!important;}
  .rpb-clean .pb-package-head{grid-template-columns:1fr 1fr!important;}
  .rpb-clean .pb-package-head .input{grid-column:1/-1!important;}
  .rpb-clean .pb-package-picker{grid-template-columns:1fr!important;max-height:none!important;}
}
@media print{
  .no-print{display:none!important;}
  .rpb-clean .pb-output{display:block!important;padding:0!important;}
  .rpb-clean .pb-svg-frame{box-shadow:none!important;border:0!important;padding:0!important;page-break-after:always!important;}
  .rpb-clean .pb-svg-frame:last-child{page-break-after:auto!important;}
}

/* === Safe SEO landing pages === */
.seo-page{background:#f6f8fb;color:#07182f;}
.seo-hero{padding:72px 0;background:linear-gradient(135deg,#07182f,#0b2d4e);color:#fff;}
.seo-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:center;}
.seo-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f7d27a;margin-bottom:14px;}
.seo-hero h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.95;margin:0 0 16px;color:#fff;letter-spacing:-.05em;max-width:920px;}
.seo-hero p{font-size:1.08rem;line-height:1.65;color:rgba(255,255,255,.86);max-width:760px;}
.seo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.seo-card{background:#fff;color:#07182f;border-radius:24px;padding:24px;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.16);}
.seo-card h2{margin:0 0 14px;font-size:1.2rem;color:#07182f;}
.seo-card ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#334155;font-weight:700;}
.seo-section{padding:56px 0;background:#fff;}
.seo-light{background:#f8fafc;}
.seo-section h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05;margin:0 0 16px;color:#07182f;letter-spacing:-.03em;}
.seo-section p{color:#475569;line-height:1.75;font-size:1rem;}
.seo-two{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;}
.seo-checklist{display:grid;gap:10px;padding:20px;border-radius:22px;background:#f8fafc;border:1px solid #dbe5ef;}
.seo-checklist strong{color:#07182f;}
.seo-checklist span{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;color:#0f5132;font-weight:800;}
.seo-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.seo-service{display:grid;gap:8px;text-decoration:none;background:#fff;border:1px solid #dbe5ef;border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05);}
.seo-service strong{color:#07182f;font-size:1.02rem;}
.seo-service span{color:#64748b;font-size:.92rem;line-height:1.45;}
.seo-link-cloud{display:flex;gap:10px;flex-wrap:wrap;}
.seo-link-cloud a{display:inline-flex;padding:9px 12px;border-radius:999px;background:#eef6ff;color:#0b2d4e;border:1px solid #cfe2f5;text-decoration:none;font-weight:800;font-size:.88rem;}
.seo-faq details{background:#f8fafc;border:1px solid #dbe5ef;border-radius:18px;padding:16px 18px;margin-bottom:12px;}
.seo-faq summary{cursor:pointer;font-weight:900;color:#07182f;}
.seo-faq p{margin:10px 0 0;}
.seo-keyword-bank{display:flex;flex-wrap:wrap;gap:8px;max-height:620px;overflow:auto;padding:16px;border:1px solid #dbe5ef;background:#f8fafc;border-radius:22px;}
.seo-keyword-bank span{display:inline-flex;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-weight:750;font-size:.86rem;}
.footer-grid{grid-template-columns:1.2fr .75fr .75fr .85fr .85fr;}
@media(max-width:980px){.seo-hero-grid,.seo-two{grid-template-columns:1fr}.seo-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.seo-hero{padding:46px 0}.seo-section{padding:38px 0}.seo-service-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.seo-card{padding:18px}.seo-hero p{font-size:1rem}}

/* === BOOKING OPTIONS PAGE FINAL CSS ISOLATION FIX === */
body:not(.admin-body) .booking-choice-page,
body:not(.admin-body) .booking-choice-page *{
  box-sizing:border-box!important;
}
body:not(.admin-body) .booking-choice-page{
  background:#f4f7fb!important;
  color:#0f172a!important;
}
body:not(.admin-body) .booking-choice-page ::selection{
  background:rgba(15,81,50,.22)!important;
  color:#0f172a!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-card{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #dbe5ef!important;
  border-radius:24px!important;
  padding:22px!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-card *{
  text-shadow:none!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-top{
  background:#0f5132!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  margin-bottom:18px!important;
  overflow:hidden!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-top span,
body:not(.admin-body) .booking-choice-page .booking-preview-top strong{
  display:block!important;
  color:#ffffff!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-top span{
  font-size:.72rem!important;
  line-height:1.15!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#f8d98b!important;
  margin-bottom:7px!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-top strong{
  font-size:1.12rem!important;
  line-height:1.18!important;
  font-weight:1000!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-price{
  display:block!important;
  color:#0f172a!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  padding:16px!important;
  margin:0 0 18px!important;
  font-size:clamp(1.7rem,4vw,2.35rem)!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.04em!important;
  overflow-wrap:anywhere!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-price small{
  display:block!important;
  color:#475569!important;
  background:transparent!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:0!important;
  margin-top:5px!important;
  text-transform:lowercase!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-facts{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-facts span{
  display:block!important;
  background:#ffffff!important;
  color:#334155!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  margin:0!important;
  font-size:.9rem!important;
  line-height:1.45!important;
  font-weight:800!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body:not(.admin-body) .booking-choice-page .booking-preview-facts b{
  color:#0f5132!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  font-weight:1000!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
body:not(.admin-body) .booking-choice-page .booking-action-panel,
body:not(.admin-body) .booking-choice-page .package-option-picker,
body:not(.admin-body) .booking-choice-page .booking-channel-card,
body:not(.admin-body) .booking-choice-page .booking-account-form{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #dbe5ef!important;
  box-shadow:0 18px 48px rgba(15,23,42,.07)!important;
}
body:not(.admin-body) .booking-choice-page .booking-action-panel *:not(svg):not(path),
body:not(.admin-body) .booking-choice-page .package-option-picker *:not(svg):not(path),
body:not(.admin-body) .booking-choice-page .booking-channel-card *:not(svg):not(path),
body:not(.admin-body) .booking-choice-page .booking-account-form *:not(svg):not(path){
  max-width:100%!important;
}
@media(max-width:720px){
  body:not(.admin-body) .booking-choice-page .booking-preview-card,
  body:not(.admin-body) .booking-choice-page .booking-action-panel{
    padding:16px!important;
    border-radius:20px!important;
  }
  body:not(.admin-body) .booking-choice-page .booking-preview-top{
    padding:13px!important;
    border-radius:16px!important;
  }
  body:not(.admin-body) .booking-choice-page .booking-preview-top strong{
    font-size:1rem!important;
  }
  body:not(.admin-body) .booking-choice-page .booking-preview-price{
    font-size:1.65rem!important;
    padding:14px!important;
  }
  body:not(.admin-body) .booking-choice-page .booking-preview-facts span{
    padding:11px 12px!important;
    font-size:.86rem!important;
  }
}

/* === Booking request management + customer account mobile UX === */
.inline-delete-form{display:inline-flex;margin:0;}
.customer-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.customer-row-actions form{margin:0;}
.btn.danger,.btn-danger,.danger{border-color:#fecaca!important;color:#991b1b!important;background:#fff!important;}
.btn.danger:hover,.btn-danger:hover,.danger:hover{background:#fee2e2!important;color:#7f1d1d!important;border-color:#fca5a5!important;}

.customer-account-wrap{align-items:flex-start;}
.customer-account-main .table-wrap,.customer-account-main .form-wrap{border:1px solid #d7e3ef;border-radius:24px;box-shadow:0 18px 55px rgba(2,8,23,.07);background:#fff;overflow:hidden;}
.customer-account-main .table-head{gap:12px;}
.customer-account-main .badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:6px 10px;font-weight:900;text-transform:capitalize;}
.customer-account-main .dash-cards{gap:14px;}
.customer-account-main .stat-card{border-radius:22px;border:1px solid #d7e3ef;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 14px 38px rgba(15,23,42,.06);}
.customer-account-main .stat-card .label{color:#526174;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.customer-account-main .stat-card .val{color:#07182f;}

@media(max-width: 760px){
  .customer-account-wrap{display:block!important;padding:14px!important;background:#f4f8fc!important;}
  .customer-account-wrap .dash-side{position:relative!important;width:100%!important;max-width:100%!important;margin:0 0 14px!important;border-radius:24px!important;padding:16px!important;background:#061b39!important;color:#fff!important;box-shadow:0 16px 45px rgba(2,8,23,.18)!important;}
  .customer-account-wrap .dash-side h4{font-size:1.08rem!important;margin:0 0 4px!important;color:#fff!important;}
  .customer-account-wrap .dash-side .email{color:rgba(255,255,255,.78)!important;word-break:break-word!important;margin:0 0 12px!important;}
  .customer-account-wrap .dash-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .customer-account-wrap .dash-nav a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;border-radius:14px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;font-size:.82rem!important;font-weight:900!important;text-align:center!important;padding:8px!important;line-height:1.15!important;}
  .customer-account-wrap .dash-nav a.active,.customer-account-wrap .dash-nav a:hover{background:#fff!important;color:#061b39!important;}
  .customer-account-main{width:100%!important;padding:0!important;}
  .customer-account-main h2{font-size:1.45rem!important;line-height:1.1!important;}
  .customer-account-main p{line-height:1.45!important;}
  .customer-account-main .dash-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .customer-account-main .stat-card{padding:14px!important;border-radius:18px!important;}
  .customer-account-main .stat-card .val{font-size:1.55rem!important;}
  .customer-account-main .table-wrap{border-radius:22px!important;margin-bottom:18px!important;overflow:visible!important;background:#fff!important;}
  .customer-account-main .table-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:14px!important;border-bottom:1px solid #e2e8f0!important;}
  .customer-account-main .table-head h3{font-size:1rem!important;margin:0!important;color:#061b39!important;}
  .customer-account-main .table-head .btn{min-height:38px!important;padding:8px 12px!important;font-size:.78rem!important;}
  .customer-account-main .table-wrap>div[style*="overflow-x"]{overflow:visible!important;}
  .customer-account-main table.tbl,.customer-account-main table.tbl thead,.customer-account-main table.tbl tbody,.customer-account-main table.tbl tr,.customer-account-main table.tbl td{display:block!important;width:100%!important;}
  .customer-account-main table.tbl thead{display:none!important;}
  .customer-account-main table.tbl{border:0!important;background:transparent!important;}
  .customer-account-main table.tbl tbody{padding:10px!important;display:grid!important;gap:12px!important;}
  .customer-account-main table.tbl tr{border:1px solid #d7e3ef!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 34px rgba(15,23,42,.07)!important;padding:12px!important;overflow:hidden!important;}
  .customer-account-main table.tbl td{border:0!important;padding:8px 0!important;display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;color:#0f172a!important;font-size:.9rem!important;word-break:break-word!important;}
  .customer-account-main table.tbl td:before{content:attr(data-label);font-size:.68rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#64748b!important;font-weight:1000!important;line-height:1.2!important;padding-top:2px!important;}
  .customer-account-main table.tbl td:nth-child(1):before{content:'Request';}
  .customer-account-main table.tbl td:nth-child(2):before{content:'Item';}
  .customer-account-main table.tbl td:nth-child(3):before{content:'People';}
  .customer-account-main table.tbl td:nth-child(4):before{content:'Date';}
  .customer-account-main table.tbl td:nth-child(5):before{content:'Total';}
  .customer-account-main table.tbl td:nth-child(6):before{content:'Status';}
  .customer-account-main table.tbl td:nth-child(7):before{content:'Note';}
  .customer-account-main table.tbl td:nth-child(8):before{content:'Action';}
  .customer-account-main table.tbl td strong{font-size:.96rem!important;line-height:1.25!important;color:#061b39!important;}
  .customer-account-main .customer-row-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;}
  .customer-account-main .customer-row-actions .btn,.customer-account-main .customer-row-actions button{width:100%!important;min-height:40px!important;justify-content:center!important;}
  .customer-account-main .customer-row-actions form{width:100%!important;}
  .customer-account-main .form-wrap{border-radius:22px!important;padding:16px!important;}
  .customer-account-main .form-grid,.customer-account-main .form-grid.cols-2{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .customer-account-main .input{min-height:46px!important;border-radius:14px!important;}
}


/* Senior staff inventory workflow */
.sector-copy{border:1px solid #d6e2d8;background:#fff;color:#0b4734;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;cursor:pointer;margin-left:auto}
.sector-copy:hover{background:#ecfdf5;border-color:#0f6b4e}
.admin-role-note{padding:12px 14px;border-radius:14px;background:#f0fdf4;border:1px solid #bbf7d0;color:#064e3b;font-weight:800;margin-bottom:14px}
@media(max-width:760px){.sector-head{gap:7px}.sector-copy{order:5;width:auto;padding:7px 10px}.vendor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* === Airline logo stability === */
.upc-airline-logo-img,
.airline-mark-img,
.pm-airline-logo img,
.upc-mobile-airline img{
  background:#ffffff !important;
  object-fit:contain !important;
  display:block !important;
}
.upc-mobile-airline img{width:42px;height:42px;border-radius:14px;padding:6px;box-shadow:0 8px 18px rgba(2,6,23,.12);}


/* === MARKUP PLACEMENT + USER SECTION FINAL CLEANUP === */
.api-markup-note{
  display:block!important;
  padding:16px 18px!important;
  margin:0 0 18px!important;
  border:1px solid #b9d7c9!important;
  border-radius:18px!important;
  background:#f0fdf7!important;
  color:#0f3f2f!important;
  box-shadow:0 10px 28px rgba(15,81,50,.06)!important;
}
.api-markup-note strong{display:block!important;color:#0b3b2d!important;font-weight:1000!important;margin-bottom:5px!important;}
.api-markup-note p{margin:0!important;color:#315548!important;line-height:1.5!important;}
.api-markup-note a{color:#0b5d3b!important;font-weight:1000!important;text-decoration:underline!important;}

/* Admin users/staff section: readable controls and mobile cards */
.admin-page .users-table,
.admin-page .staff-table,
.admin-page table.tbl{color:#0f172a;}
.admin-page .role-panel,
.admin-page .user-manage-panel,
.admin-page .manage-panel{
  background:#ffffff!important;
  border:1px solid #d7e3ef!important;
  border-radius:18px!important;
  color:#0f172a!important;
  box-shadow:0 14px 35px rgba(15,23,42,.08)!important;
}
.admin-page .role-panel *,
.admin-page .user-manage-panel *,
.admin-page .manage-panel *{color:#0f172a;}
.admin-page .role-panel .btn-primary,
.admin-page .user-manage-panel .btn-primary,
.admin-page .manage-panel .btn-primary,
.admin-page .role-panel button[type="submit"],
.admin-page .user-manage-panel button[type="submit"]{
  color:#ffffff!important;
}
.admin-page select.input,
.admin-page input.input,
.admin-page textarea.textarea{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#b9c8da!important;
}
.admin-page .btn.danger,
.admin-page button.danger,
.customer-row-actions .danger{
  color:#991b1b!important;
  border-color:#fecaca!important;
  background:#fff5f5!important;
}

/* Customer account mobile polish */
.customer-account-main .table-wrap{isolation:isolate;}
.customer-account-main .tbl td,
.customer-account-main .tbl td *{max-width:100%;}
.customer-account-main .badge{white-space:nowrap;}
.customer-account-main .customer-row-actions .btn{white-space:nowrap;text-decoration:none;}

@media(max-width:720px){
  body:has(.customer-account-wrap){background:#f3f7fb!important;}
  .customer-account-wrap{padding:10px!important;}
  .customer-account-wrap .dash-side{border-radius:22px!important;padding:15px!important;}
  .customer-account-wrap .dash-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .customer-account-wrap .dash-nav a{font-size:.76rem!important;min-height:40px!important;word-break:normal!important;}
  .customer-account-main section{margin-bottom:18px!important;}
  .customer-account-main h2{font-size:1.28rem!important;}
  .customer-account-main .dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .customer-account-main .stat-card{min-height:92px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
  .customer-account-main .table-wrap{border-radius:22px!important;background:#fff!important;border:1px solid #d7e3ef!important;overflow:hidden!important;}
  .customer-account-main .table-head{position:sticky;top:0;background:#fff!important;z-index:2;}
  .customer-account-main table.tbl tbody{padding:12px!important;gap:12px!important;}
  .customer-account-main table.tbl tr{padding:0!important;border-radius:20px!important;overflow:hidden!important;background:#fff!important;border:1px solid #d8e2ef!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important;}
  .customer-account-main table.tbl td{grid-template-columns:92px minmax(0,1fr)!important;padding:10px 12px!important;border-bottom:1px solid #eef3f8!important;font-size:.86rem!important;line-height:1.35!important;}
  .customer-account-main table.tbl td:last-child{border-bottom:0!important;background:#f8fbff!important;}
  .customer-account-main table.tbl td:before{color:#64748b!important;font-size:.64rem!important;}
  .customer-account-main table.tbl td strong{font-size:.92rem!important;color:#07182f!important;}
  .customer-account-main .customer-row-actions{grid-template-columns:1fr!important;gap:8px!important;}
  .customer-account-main .customer-row-actions .btn,
  .customer-account-main .customer-row-actions button{min-height:42px!important;border-radius:14px!important;font-size:.82rem!important;}
  .customer-account-main .form-wrap{padding:14px!important;border-radius:22px!important;background:#fff!important;}
}

@media(max-width:520px){
  .customer-account-wrap .dash-nav{grid-template-columns:1fr!important;}
  .customer-account-main .dash-cards{grid-template-columns:1fr 1fr!important;}
  .customer-account-main table.tbl td{grid-template-columns:1fr!important;gap:4px!important;}
  .customer-account-main table.tbl td:before{padding:0!important;}
}

/* === Super Admin user delete controls === */
.user-count-breakdown{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.78rem;
  line-height:1.25;
  font-weight:800;
  white-space:nowrap;
}
.manage-panel .btn-danger,
.btn-danger{
  background:#dc2626 !important;
  color:#fff !important;
  border-color:#dc2626 !important;
  box-shadow:0 8px 18px rgba(220,38,38,.18) !important;
}
.manage-panel .btn-danger:hover,
.btn-danger:hover{
  background:#b91c1c !important;
  color:#fff !important;
  border-color:#b91c1c !important;
}
@media(max-width:760px){
  .user-count-breakdown{white-space:normal;}
  .manage-panel .btn-danger{width:100%;justify-content:center;}
}

/* === Group Seats OCR Importer === */
.ocr-seat-importer{
  margin:0 0 22px;
  padding:18px;
  border:1px solid #dbe7f5;
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  color:#0f172a;
}
.ocr-seat-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;}
.ocr-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eaf3ff;color:#0f3f78;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;}
.ocr-seat-head h4{margin:0;color:#0f172a;font-size:1.08rem;line-height:1.2;}
.ocr-seat-head p{margin:6px 0 0;color:#475569;line-height:1.45;max-width:780px;}
.ocr-seat-status{white-space:nowrap;border-radius:999px;background:#f1f5f9;color:#334155;padding:8px 12px;font-size:.78rem;font-weight:900;border:1px solid #e2e8f0;}
.ocr-seat-status.working{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.ocr-seat-status.ok{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.ocr-seat-status.bad{background:#fef2f2;color:#991b1b;border-color:#fecaca;}
.ocr-seat-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(280px,1.25fr);gap:14px;align-items:start;}
.ocr-seat-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.ocr-seat-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f8fafc;color:#475569;border:1px solid #e2e8f0;font-size:.88rem;line-height:1.45;}
.muted-help{display:block;margin-top:6px;color:#64748b;font-size:.78rem;line-height:1.35;}
@media(max-width:760px){
  .ocr-seat-head{display:block;}
  .ocr-seat-status{display:inline-flex;margin-top:10px;}
  .ocr-seat-grid{grid-template-columns:1fr;}
  .ocr-seat-actions .btn{width:100%;justify-content:center;}
}

/* === Smart multi-card OCR importer for group seats === */
.ocr-bulk-preview{
  margin-top:16px;
  border:1px solid #d8e2ef;
  background:#fff;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.ocr-bulk-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.ocr-bulk-head strong{display:block;color:#071a33;font-size:15px;font-weight:900;}
.ocr-bulk-head span{display:block;color:#536477;font-size:12px;margin-top:3px;}
.ocr-bulk-count{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:7px 11px;
  border-radius:999px;
  color:#fff!important;
  background:#0b5d3f;
  font-weight:900;
  white-space:nowrap;
}
.ocr-bulk-table-wrap{overflow:auto;border-radius:14px;border:1px solid #e6edf6;}
.ocr-bulk-table{width:100%;border-collapse:collapse;min-width:980px;background:#fff;}
.ocr-bulk-table th,
.ocr-bulk-table td{padding:8px;border-bottom:1px solid #e6edf6;vertical-align:middle;color:#0f172a;}
.ocr-bulk-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;color:#334155;font-weight:900;}
.ocr-bulk-table td{font-size:12px;}
.ocr-bulk-table input.input,
.ocr-bulk-table select.select{height:36px;min-height:36px;padding:7px 9px;font-size:12px;border-radius:9px;background:#fff;color:#0f172a;}
.ocr-bulk-table .ocr-row-airline{width:70px;}
.ocr-bulk-table .ocr-row-flight{width:90px;}
.ocr-bulk-table .ocr-row-from,
.ocr-bulk-table .ocr-row-to{width:60px;text-align:center;display:inline-block;}
.ocr-bulk-table .ocr-row-seats{width:70px;}
.ocr-bulk-table .ocr-row-fare{width:95px;}
.ocr-bulk-table td span{padding:0 4px;font-weight:900;color:#0b5d3f;}
.btn-xs{padding:6px 9px;font-size:11px;border-radius:9px;margin-left:6px;}
.ocr-bulk-import-form{margin-top:12px;}
.ocr-bulk-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;}
.ocr-bulk-controls label{font-size:11px;text-transform:uppercase;font-weight:900;color:#334155;letter-spacing:.04em;}
.ocr-bulk-controls .input,.ocr-bulk-controls .select{margin-top:5px;height:40px;}
@media(max-width:760px){
  .ocr-bulk-head{display:block;}
  .ocr-bulk-count{margin-top:8px;}
  .ocr-bulk-controls{grid-template-columns:1fr;}
  .ocr-bulk-preview{padding:10px;border-radius:14px;}
}

/* Group Seats bulk delete + OCR stability UI */
.bulk-seat-delete-form{
  margin: 12px 0 14px;
}
.bulk-seat-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.bulk-seat-actions strong{color:#0f172a;font-weight:900;}
.bulk-seat-actions .muted{color:#64748b;font-size:13px;}
.group-seats-table input[type="checkbox"],
.bulk-seat-delete-form input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:#0f5132;
}
.group-seats-table input[type="checkbox"]:disabled{
  opacity:.35;
  cursor:not-allowed;
}
@media (max-width: 720px){
  .bulk-seat-actions{align-items:flex-start;flex-direction:column;}
  .bulk-seat-actions .btn{width:100%;justify-content:center;}
}


/* Group ticket policy + import controls */
.group-ticket-policy-bar{
  background:#061b39;
  color:#fff;
  border:1px solid rgba(212,170,73,.35);
  border-radius:18px;
  padding:14px 18px;
  margin:0 0 18px;
  box-shadow:0 12px 30px rgba(2,6,23,.08);
  font-weight:800;
  letter-spacing:.01em;
}
.group-ticket-policy-bar strong{color:#f8d78a;}
.group-ticket-policy-bar b{color:#fff;text-transform:uppercase;}
.ocr-bulk-controls label{min-width:180px;}
.ocr-bulk-controls #ocr-price-add{border-color:#d4aa49;background:#fffbeb;}
@media (max-width:720px){
  .group-ticket-policy-bar{border-radius:14px;padding:12px 14px;font-size:.9rem;line-height:1.45;}
  .ocr-bulk-controls label{min-width:100%;}
}

/* Internal vendor/source notes for group seats (admin only) */
.ocr-internal-note-box,
.internal-note-admin-only{
  background:#fffdf6;
  border:1px solid #f0d9a8;
  border-radius:16px;
  padding:14px;
}
.internal-vendor-pill{
  margin-top:6px;
  display:inline-block;
  max-width:360px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#7c2d12;
  font-size:11px;
  font-weight:800;
  line-height:1.25;
}
@media (max-width: 720px){
  .internal-vendor-pill{max-width:100%; white-space:normal; border-radius:10px;}
}

/* Group seats vendor/lot workflow */
.lot-adjust-panel{
  background:#fff;
  border:1px solid #d8e2ee;
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.lot-adjust-head{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;color:#061b39;}
.lot-adjust-grid{display:grid;grid-template-columns:1.5fr repeat(5,minmax(130px,1fr)) auto;gap:10px;align-items:end;}
.lot-adjust-grid label{display:grid;gap:5px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#334155;}
.lot-group-row td{background:#eef6ff!important;color:#061b39!important;font-size:13px;padding:10px 14px!important;border-top:2px solid #b9d5f5!important;}
.lot-group-row span{margin-left:12px;color:#0f5132;font-weight:900;}
.vendor-lot-cell{display:grid;gap:4px;min-width:130px;}
.vendor-lot-cell strong{color:#061b39;font-size:12px;}
.vendor-lot-cell span{display:inline-flex;width:max-content;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f4f7fb;border:1px solid #d8e2ee;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;color:#0f5132;}
@media (max-width:900px){
  .lot-adjust-grid{grid-template-columns:1fr 1fr;}
  .lot-adjust-grid button{grid-column:1/-1;}
  .vendor-lot-cell span{max-width:100%;}
}
@media (max-width:560px){.lot-adjust-grid{grid-template-columns:1fr;}}

/* Group seats AI import engine v5 */
.ocr-bulk-table .ocr-trip-summary{min-width:220px;max-width:360px;display:grid;gap:4px;line-height:1.25;color:#0f172a}
.ocr-bulk-table .ocr-trip-summary strong{font-weight:900;color:#082f49;font-size:.86rem;white-space:normal;overflow-wrap:anywhere}
.ocr-bulk-table .ocr-trip-summary small{display:block;color:#475569;font-size:.72rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere;max-height:42px;overflow:auto}
.ocr-bulk-controls label{align-items:flex-start}
@media (max-width: 760px){
  .ocr-bulk-table .ocr-trip-summary{min-width:180px;max-width:240px}
  .ocr-bulk-table .ocr-trip-summary small{max-height:60px}
}

/* === ADMIN PANEL STABILITY FIX: forms, cards, OCR tables, mobile === */
.admin-body,
.admin-page,
.admin-shell{
  background:#f4f7fb !important;
  color:#0f172a !important;
}
.admin-body .form-wrap,
.admin-body .table-wrap,
.admin-body .dashboard-card,
.admin-body .stat-card,
.admin-body .ocr-seat-importer,
.admin-body .manage-panel,
.admin-body .role-panel,
.admin-body .user-manage-panel{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #dbe6f1 !important;
  border-radius:22px !important;
  box-shadow:0 18px 50px rgba(15,23,42,.07) !important;
}
.admin-body .form-wrap *,
.admin-body .table-wrap *,
.admin-body .dashboard-card *,
.admin-body .ocr-seat-importer *,
.admin-body .manage-panel *,
.admin-body .role-panel *,
.admin-body .user-manage-panel *{
  color:inherit;
}
.admin-body h1,.admin-body h2,.admin-body h3,.admin-body h4,
.admin-body label,
.admin-body .field-group label{
  color:#0f172a !important;
}
.admin-body p,
.admin-body small,
.admin-body .muted,
.admin-body .muted-help{
  color:#64748b !important;
}
.admin-body input.input,
.admin-body select.select,
.admin-body textarea.textarea,
.admin-body .input,
.admin-body .select,
.admin-body .textarea{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:none !important;
}
.admin-body input.input:focus,
.admin-body select.select:focus,
.admin-body textarea.textarea:focus,
.admin-body .input:focus,
.admin-body .select:focus,
.admin-body .textarea:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12) !important;
  outline:none !important;
}
.admin-body table{
  background:#ffffff !important;
  color:#0f172a !important;
}
.admin-body table th{
  background:#f1f5f9 !important;
  color:#334155 !important;
  font-weight:900 !important;
}
.admin-body table td{
  color:#0f172a !important;
  background:#ffffff !important;
  border-color:#e2e8f0 !important;
}
.admin-body .btn-primary,
.admin-body button.btn-primary,
.admin-body a.btn-primary{
  background:#0f3f78 !important;
  color:#ffffff !important;
  border-color:#0f3f78 !important;
}
.admin-body .btn-primary *,
.admin-body button.btn-primary *,
.admin-body a.btn-primary *{color:#ffffff !important;}
.admin-body .btn-ghost,
.admin-body a.btn-ghost,
.admin-body button.btn-ghost{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
}
.admin-body .btn-danger,
.admin-body button.danger,
.admin-body .btn.danger{
  background:#dc2626 !important;
  color:#ffffff !important;
  border-color:#dc2626 !important;
}
.admin-body .ocr-seat-grid{
  grid-template-columns:minmax(220px,.8fr) minmax(320px,1.25fr) !important;
}
.admin-body .ocr-seat-grid .field-group,
.admin-body .ocr-bulk-controls label{
  min-width:0 !important;
}
.admin-body .ocr-bulk-table-wrap{
  max-width:100% !important;
  overflow:auto !important;
  background:#fff !important;
}
.admin-body .ocr-bulk-table{
  min-width:1100px !important;
  table-layout:auto !important;
}
.admin-body .ocr-bulk-table th,
.admin-body .ocr-bulk-table td{
  white-space:normal !important;
  vertical-align:top !important;
}
.admin-body .ocr-bulk-table .ocr-trip-summary{
  min-width:260px !important;
  max-width:420px !important;
}
.admin-body .ocr-bulk-table .ocr-trip-summary strong{
  color:#082f49 !important;
}
.admin-body .ocr-bulk-table .ocr-trip-summary small{
  color:#475569 !important;
  max-height:70px !important;
  overflow:auto !important;
}
.admin-body .ocr-bulk-controls{
  grid-template-columns:repeat(3,minmax(170px,1fr)) !important;
}
.admin-body .ocr-bulk-controls .btn{
  min-height:42px !important;
}
@media (max-width: 900px){
  .admin-body .form-grid,
  .admin-body .form-grid.cols-2,
  .admin-body .form-grid.cols-3,
  .admin-body .ocr-seat-grid,
  .admin-body .ocr-bulk-controls{
    grid-template-columns:1fr !important;
  }
  .admin-body .form-wrap,
  .admin-body .table-wrap,
  .admin-body .ocr-seat-importer{
    padding:14px !important;
    border-radius:18px !important;
  }
  .admin-body .ocr-seat-head{
    display:block !important;
  }
  .admin-body .ocr-seat-status{
    display:inline-flex !important;
    margin-top:10px !important;
    white-space:normal !important;
  }
  .admin-body .ocr-seat-actions .btn,
  .admin-body .ocr-bulk-controls .btn{
    width:100% !important;
    justify-content:center !important;
  }
  .admin-body .ocr-bulk-table{
    min-width:980px !important;
  }
}

/* === FINAL ADMIN OCR + USERS PANEL CSS FIX === */
.admin-body .ocr-bulk-preview{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  border-radius:18px !important;
}
.admin-body .ocr-bulk-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:8px !important;
  scrollbar-gutter:stable !important;
}
.admin-body .ocr-bulk-table{
  width:max-content !important;
  min-width:1180px !important;
  table-layout:fixed !important;
}
.admin-body .ocr-bulk-table th:nth-child(1),
.admin-body .ocr-bulk-table td:nth-child(1){width:54px !important;min-width:54px !important;}
.admin-body .ocr-bulk-table th:nth-child(2),
.admin-body .ocr-bulk-table td:nth-child(2){width:78px !important;min-width:78px !important;}
.admin-body .ocr-bulk-table th:nth-child(3),
.admin-body .ocr-bulk-table td:nth-child(3){width:78px !important;min-width:78px !important;}
.admin-body .ocr-bulk-table th:nth-child(4),
.admin-body .ocr-bulk-table td:nth-child(4){width:155px !important;min-width:155px !important;}
.admin-body .ocr-bulk-table th:nth-child(5),
.admin-body .ocr-bulk-table td:nth-child(5){width:340px !important;min-width:340px !important;}
.admin-body .ocr-bulk-table th:nth-child(6),
.admin-body .ocr-bulk-table td:nth-child(6),
.admin-body .ocr-bulk-table th:nth-child(7),
.admin-body .ocr-bulk-table td:nth-child(7){width:132px !important;min-width:132px !important;}
.admin-body .ocr-bulk-table th:nth-child(8),
.admin-body .ocr-bulk-table td:nth-child(8){width:78px !important;min-width:78px !important;}
.admin-body .ocr-bulk-table th:nth-child(9),
.admin-body .ocr-bulk-table td:nth-child(9){width:150px !important;min-width:150px !important;}
.admin-body .ocr-bulk-table .input{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.admin-body .ocr-bulk-table input[type="checkbox"]{
  width:22px !important;
  height:22px !important;
  accent-color:#0f6b4e !important;
}
.admin-body .ocr-trip-summary{
  width:100% !important;
  min-width:0 !important;
  display:block !important;
}
.admin-body .ocr-trip-summary strong{
  display:block !important;
  white-space:normal !important;
  line-height:1.25 !important;
  color:#0f172a !important;
}
.admin-body .ocr-trip-summary small{
  display:block !important;
  white-space:normal !important;
  word-break:break-word !important;
  overflow:visible !important;
  max-height:none !important;
  line-height:1.25 !important;
  margin-top:4px !important;
  color:#475569 !important;
}

/* Users table manage dropdown: prevent huge row/overflow and keep controls readable */
.admin-body .table-wrap:has(.manage-details){
  overflow-x:auto !important;
  overflow-y:visible !important;
  position:relative !important;
}
.admin-body .manage-details{
  position:relative !important;
  display:inline-block !important;
}
.admin-body .manage-details summary{
  white-space:nowrap !important;
}
.admin-body .manage-details[open] .manage-panel{
  position:absolute !important;
  right:0 !important;
  top:calc(100% + 8px) !important;
  z-index:80 !important;
  width:260px !important;
  min-width:260px !important;
  max-width:calc(100vw - 32px) !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
  background:#ffffff !important;
  border:1px solid #d7e3ef !important;
  border-radius:16px !important;
  box-shadow:0 22px 55px rgba(15,23,42,.22) !important;
}
.admin-body .manage-panel .mini-manage-form,
.admin-body .manage-panel form{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  margin:0 !important;
}
.admin-body .manage-panel .btn,
.admin-body .manage-panel button,
.admin-body .manage-panel .input,
.admin-body .manage-panel select{
  width:100% !important;
  min-height:40px !important;
  justify-content:center !important;
  font-size:.78rem !important;
  border-radius:12px !important;
}
@media(max-width:760px){
  .admin-body .manage-details[open] .manage-panel{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:12px !important;
    width:auto !important;
    max-width:none !important;
    z-index:999 !important;
  }
}

/* === FINAL OCR PREVIEW + ADMIN USER PANEL FIX === */
.admin-body .ocr-bulk-preview,
.admin-page .ocr-bulk-preview{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  box-sizing:border-box !important;
}
.admin-body .ocr-bulk-table-wrap,
.admin-page .ocr-bulk-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  display:block !important;
  -webkit-overflow-scrolling:touch !important;
}
.admin-body .ocr-bulk-table,
.admin-page .ocr-bulk-table{
  table-layout:fixed !important;
  width:1120px !important;
  min-width:1120px !important;
  max-width:none !important;
}
.admin-body .ocr-bulk-table th,
.admin-body .ocr-bulk-table td,
.admin-page .ocr-bulk-table th,
.admin-page .ocr-bulk-table td{
  box-sizing:border-box !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  white-space:normal !important;
}
.admin-body .ocr-bulk-table th:nth-child(1),
.admin-body .ocr-bulk-table td:nth-child(1){width:50px !important;min-width:50px !important;max-width:50px !important;}
.admin-body .ocr-bulk-table th:nth-child(2),
.admin-body .ocr-bulk-table td:nth-child(2){width:72px !important;min-width:72px !important;max-width:72px !important;}
.admin-body .ocr-bulk-table th:nth-child(3),
.admin-body .ocr-bulk-table td:nth-child(3){width:78px !important;min-width:78px !important;max-width:78px !important;}
.admin-body .ocr-bulk-table th:nth-child(4),
.admin-body .ocr-bulk-table td:nth-child(4){width:155px !important;min-width:155px !important;max-width:155px !important;}
.admin-body .ocr-bulk-table th:nth-child(5),
.admin-body .ocr-bulk-table td:nth-child(5){width:310px !important;min-width:310px !important;max-width:310px !important;}
.admin-body .ocr-bulk-table th:nth-child(6),
.admin-body .ocr-bulk-table td:nth-child(6),
.admin-body .ocr-bulk-table th:nth-child(7),
.admin-body .ocr-bulk-table td:nth-child(7){width:128px !important;min-width:128px !important;max-width:128px !important;}
.admin-body .ocr-bulk-table th:nth-child(8),
.admin-body .ocr-bulk-table td:nth-child(8){width:70px !important;min-width:70px !important;max-width:70px !important;}
.admin-body .ocr-bulk-table th:nth-child(9),
.admin-body .ocr-bulk-table td:nth-child(9){width:129px !important;min-width:129px !important;max-width:129px !important;}
.admin-body .ocr-bulk-table .input,
.admin-page .ocr-bulk-table .input{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:38px !important;
  padding:7px 9px !important;
  font-size:13px !important;
}
.admin-body .ocr-trip-summary,
.admin-page .ocr-trip-summary{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.admin-body .ocr-trip-summary strong,
.admin-page .ocr-trip-summary strong{
  display:block !important;
  color:#082f49 !important;
  font-weight:1000 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.admin-body .ocr-trip-summary small,
.admin-page .ocr-trip-summary small{
  display:block !important;
  color:#475569 !important;
  font-size:11px !important;
  line-height:1.25 !important;
  max-height:54px !important;
  overflow:auto !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}
.admin-body .ocr-bulk-table .btn-xs,
.admin-page .ocr-bulk-table .btn-xs{
  width:100% !important;
  margin-top:6px !important;
  min-height:30px !important;
  padding:5px 7px !important;
}

/* Users & Staff manage flyout: overlay it instead of stretching/breaking table rows */
.admin-body .manage-details[open] .manage-panel,
.admin-page .manage-details[open] .manage-panel{
  position:fixed !important;
  right:24px !important;
  top:110px !important;
  z-index:9999 !important;
  width:280px !important;
  min-width:280px !important;
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100vh - 140px) !important;
  overflow:auto !important;
  background:#ffffff !important;
  border:1px solid #d7e3ef !important;
  border-radius:18px !important;
  box-shadow:0 24px 70px rgba(2,8,23,.28) !important;
  padding:12px !important;
}
.admin-body .manage-details[open] .manage-panel *,
.admin-page .manage-details[open] .manage-panel *{
  color:#0f172a !important;
}
.admin-body .manage-details[open] .manage-panel .btn-primary,
.admin-body .manage-details[open] .manage-panel button[type="submit"],
.admin-page .manage-details[open] .manage-panel .btn-primary,
.admin-page .manage-details[open] .manage-panel button[type="submit"]{
  color:#ffffff !important;
}
.admin-body .manage-details[open] .manage-panel .btn-danger,
.admin-body .manage-details[open] .manage-panel .danger,
.admin-page .manage-details[open] .manage-panel .btn-danger,
.admin-page .manage-details[open] .manage-panel .danger{
  color:#ffffff !important;
  background:#dc2626 !important;
  border-color:#dc2626 !important;
}
@media(max-width:760px){
  .admin-body .manage-details[open] .manage-panel,
  .admin-page .manage-details[open] .manage-panel{
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:12px !important;
    width:auto !important;
    min-width:0 !important;
    max-height:70vh !important;
  }
  .admin-body .ocr-bulk-table,
  .admin-page .ocr-bulk-table{
    width:980px !important;
    min-width:980px !important;
  }
}


/* === REAL FINAL ADMIN OCR PREVIEW OVERFLOW FIX === */
.admin-body .ocr-bulk-preview,
.admin-page .ocr-bulk-preview{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  position:relative !important;
}
.admin-body .ocr-bulk-table-wrap,
.admin-page .ocr-bulk-table-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  border:1px solid #dbe7f3 !important;
  border-radius:14px !important;
  background:#fff !important;
  -webkit-overflow-scrolling:touch !important;
}
.admin-body .ocr-bulk-table,
.admin-page .ocr-bulk-table{
  width:1040px !important;
  min-width:1040px !important;
  max-width:none !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
}
.admin-body .ocr-bulk-table th,
.admin-body .ocr-bulk-table td,
.admin-page .ocr-bulk-table th,
.admin-page .ocr-bulk-table td{
  padding:10px 8px !important;
  vertical-align:middle !important;
  overflow:hidden !important;
  white-space:normal !important;
  box-sizing:border-box !important;
}
.admin-body .ocr-bulk-table th:nth-child(1),
.admin-body .ocr-bulk-table td:nth-child(1),
.admin-page .ocr-bulk-table th:nth-child(1),
.admin-page .ocr-bulk-table td:nth-child(1){width:48px !important;min-width:48px !important;max-width:48px !important;}
.admin-body .ocr-bulk-table th:nth-child(2),
.admin-body .ocr-bulk-table td:nth-child(2),
.admin-page .ocr-bulk-table th:nth-child(2),
.admin-page .ocr-bulk-table td:nth-child(2){width:74px !important;min-width:74px !important;max-width:74px !important;}
.admin-body .ocr-bulk-table th:nth-child(3),
.admin-body .ocr-bulk-table td:nth-child(3),
.admin-page .ocr-bulk-table th:nth-child(3),
.admin-page .ocr-bulk-table td:nth-child(3){width:76px !important;min-width:76px !important;max-width:76px !important;}
.admin-body .ocr-bulk-table th:nth-child(4),
.admin-body .ocr-bulk-table td:nth-child(4),
.admin-page .ocr-bulk-table th:nth-child(4),
.admin-page .ocr-bulk-table td:nth-child(4){width:158px !important;min-width:158px !important;max-width:158px !important;}
.admin-body .ocr-bulk-table th:nth-child(5),
.admin-body .ocr-bulk-table td:nth-child(5),
.admin-page .ocr-bulk-table th:nth-child(5),
.admin-page .ocr-bulk-table td:nth-child(5){width:300px !important;min-width:300px !important;max-width:300px !important;}
.admin-body .ocr-bulk-table th:nth-child(6),
.admin-body .ocr-bulk-table td:nth-child(6),
.admin-body .ocr-bulk-table th:nth-child(7),
.admin-body .ocr-bulk-table td:nth-child(7),
.admin-page .ocr-bulk-table th:nth-child(6),
.admin-page .ocr-bulk-table td:nth-child(6),
.admin-page .ocr-bulk-table th:nth-child(7),
.admin-page .ocr-bulk-table td:nth-child(7){width:120px !important;min-width:120px !important;max-width:120px !important;}
.admin-body .ocr-bulk-table th:nth-child(8),
.admin-body .ocr-bulk-table td:nth-child(8),
.admin-page .ocr-bulk-table th:nth-child(8),
.admin-page .ocr-bulk-table td:nth-child(8){width:64px !important;min-width:64px !important;max-width:64px !important;}
.admin-body .ocr-bulk-table th:nth-child(9),
.admin-body .ocr-bulk-table td:nth-child(9),
.admin-page .ocr-bulk-table th:nth-child(9),
.admin-page .ocr-bulk-table td:nth-child(9){width:100px !important;min-width:100px !important;max-width:100px !important;}
.admin-body .ocr-bulk-table .input,
.admin-page .ocr-bulk-table .input{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:38px !important;
  padding:7px 8px !important;
  font-size:12px !important;
  border-radius:10px !important;
}
.admin-body .ocr-trip-summary,
.admin-page .ocr-trip-summary{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  line-height:1.25 !important;
}
.admin-body .ocr-trip-summary strong,
.admin-page .ocr-trip-summary strong{
  display:block !important;
  font-size:12px !important;
  line-height:1.2 !important;
  color:#082f49 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.admin-body .ocr-trip-summary small,
.admin-page .ocr-trip-summary small{
  display:block !important;
  max-height:44px !important;
  overflow:auto !important;
  color:#475569 !important;
  font-size:10.5px !important;
  line-height:1.25 !important;
  word-break:break-word !important;
}
.admin-body .ocr-bulk-table td:last-child,
.admin-page .ocr-bulk-table td:last-child{padding-right:10px !important;}
.admin-body .ocr-bulk-table .btn,
.admin-page .ocr-bulk-table .btn{max-width:100% !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}

@media(max-width:760px){
  .admin-body .ocr-bulk-table,
  .admin-page .ocr-bulk-table{width:980px !important;min-width:980px !important;}
  .admin-body .ocr-bulk-preview,
  .admin-page .ocr-bulk-preview{padding:10px !important;}
}

/* =========================================================
   MOBILE APP NAVIGATION — bottom tabs + bottom menu sheet
   ========================================================= */
@media (max-width:1120px){
  body:not(.admin-body){
    padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;
  }

  body:not(.admin-body) .navbar{
    height:64px!important;
    background:rgba(255,255,255,.94)!important;
    border-bottom:1px solid rgba(15,23,42,.08)!important;
    box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
  }

  body:not(.admin-body) .nav-inner{
    padding:0 14px!important;
  }

  body:not(.admin-body) .nav-cta,
  body:not(.admin-body) .nav-cta .btn,
  body:not(.admin-body) .nav-cta .menu-toggle{
    display:none!important;
  }

  body:not(.admin-body) .brand{
    width:100%!important;
    justify-content:center!important;
    min-width:0!important;
    font-size:.95rem!important;
  }

  body:not(.admin-body) .brand-logo{
    max-height:44px!important;
    width:auto!important;
    object-fit:contain!important;
  }

  body:not(.admin-body) .app-bottom-nav{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    z-index:1200!important;
    display:grid!important;
    grid-template-columns:repeat(var(--app-nav-count,5),1fr)!important;
    align-items:center!important;
    gap:4px!important;
    padding:8px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:0 18px 50px rgba(15,23,42,.20)!important;
    backdrop-filter:blur(20px) saturate(160%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(160%)!important;
  }

  body:not(.admin-body) .app-nav-item{
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    background:transparent!important;
    color:#64748b!important;
    min-width:0!important;
    min-height:58px!important;
    border-radius:18px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    text-decoration:none!important;
    font-family:var(--font-body)!important;
    font-size:.68rem!important;
    font-weight:1000!important;
    line-height:1!important;
    cursor:pointer!important;
    transition:transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  body:not(.admin-body) .app-nav-item svg{
    width:22px!important;
    height:22px!important;
    flex:0 0 auto!important;
  }

  body:not(.admin-body) .app-nav-item span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body:not(.admin-body) .app-nav-item:active{
    transform:scale(.96)!important;
  }

  body:not(.admin-body) .app-nav-item.active,
  body:not(.admin-body).nav-menu-open .app-menu-toggle{
    color:#fff!important;
    background:linear-gradient(135deg,#0f3d5e,#14567f)!important;
    box-shadow:0 12px 24px rgba(15,61,94,.22)!important;
  }

  body:not(.admin-body) .mobile-menu{
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    max-height:min(68vh,520px)!important;
    padding:12px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
    overflow:auto!important;
    transform:translateY(120%) scale(.98)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .22s ease, visibility .22s ease!important;
    z-index:1199!important;
  }

  body:not(.admin-body) .mobile-menu.open{
    transform:translateY(0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body:not(.admin-body) .mobile-menu::before{
    content:''!important;
    display:block!important;
    width:42px!important;
    height:4px!important;
    margin:2px auto 10px!important;
    border-radius:999px!important;
    background:#cbd5e1!important;
  }

  body:not(.admin-body) .mobile-menu ul{
    display:grid!important;
    gap:7px!important;
  }

  body:not(.admin-body) .mobile-menu a{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    border-radius:16px!important;
    padding:0 15px!important;
    font-size:.98rem!important;
    font-weight:900!important;
    color:#0f172a!important;
    background:#f8fafc!important;
    border:1px solid #e2e8f0!important;
  }

  body:not(.admin-body) .mobile-menu a.active,
  body:not(.admin-body) .mobile-menu a:hover{
    color:#fff!important;
    background:#0f3d5e!important;
    border-color:#0f3d5e!important;
  }
}

@media (min-width:1121px){
  body:not(.admin-body) .app-bottom-nav{display:none!important;}
}

@media (max-width:380px){
  body:not(.admin-body) .app-bottom-nav{left:6px!important;right:6px!important;padding:6px!important;border-radius:20px!important;}
  body:not(.admin-body) .app-nav-item{min-height:54px!important;font-size:.62rem!important;border-radius:15px!important;}
  body:not(.admin-body) .app-nav-item svg{width:20px!important;height:20px!important;}
}

/* ===== Customer mobile app nav + proper profile section ===== */
.customer-profile-section{scroll-margin-top:92px;}
.customer-profile-card{
  background:#fff;
  border:1px solid #d7e3ef;
  border-radius:28px;
  box-shadow:0 20px 60px rgba(2,8,23,.08);
  overflow:hidden;
}
.customer-profile-hero{
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px;
  background:linear-gradient(135deg,#061b39,#0f3d5e);
  color:#fff;
}
.customer-avatar{
  width:64px;
  height:64px;
  border-radius:22px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,#f5cf74,#b98514);
  color:#061b39;
  font-size:1.8rem;
  font-weight:1000;
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
.profile-kicker{
  display:inline-flex;
  margin-bottom:5px;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:1000;
  color:#f5cf74;
}
.customer-profile-hero h3{margin:0;color:#fff;font-size:1.5rem;line-height:1.1;}
.customer-profile-hero p{margin:5px 0 0;color:rgba(255,255,255,.76);word-break:break-word;}
.customer-profile-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:#dbe6f0;
}
.customer-profile-summary div{background:#f8fbff;padding:16px;min-width:0;}
.customer-profile-summary span{display:block;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;margin-bottom:6px;}
.customer-profile-summary strong{display:block;color:#07182f;font-size:.98rem;line-height:1.25;word-break:break-word;}
.customer-profile-form{padding:24px;display:grid;gap:16px;}
.profile-form-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:2px;}
.profile-form-head h4{margin:0 0 5px;color:#07182f;font-size:1.15rem;}
.profile-form-head p{margin:0;color:#64748b;line-height:1.55;max-width:720px;}
.customer-profile-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.customer-profile-actions .btn{min-height:46px;}
.btn.danger{color:#991b1b!important;border-color:#fecaca!important;background:#fff5f5!important;}

@media (max-width:1120px){
  body:not(.admin-body) .app-nav-item.active{background:linear-gradient(135deg,#0f3d5e,#14567f)!important;color:#fff!important;}
  body:not(.admin-body) .mobile-menu{display:none!important;}
}

@media (max-width:760px){
  .customer-profile-card{border-radius:22px!important;}
  .customer-profile-hero{padding:18px!important;align-items:flex-start!important;}
  .customer-avatar{width:54px!important;height:54px!important;border-radius:18px!important;font-size:1.45rem!important;}
  .customer-profile-hero h3{font-size:1.22rem!important;}
  .customer-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .customer-profile-summary div{padding:13px!important;}
  .customer-profile-form{padding:16px!important;gap:13px!important;}
  .profile-form-head p{font-size:.88rem!important;}
  .customer-profile-actions{display:grid!important;grid-template-columns:1fr!important;}
  .customer-profile-actions .btn{width:100%!important;justify-content:center!important;}
}

/* === FIX: keep WhatsApp floating button above mobile app navbar === */
@media (max-width:1120px){
  body:not(.admin-body) .wa-fab,
  body:not(.admin-body) .whatsapp-fab{
    bottom:calc(104px + env(safe-area-inset-bottom))!important;
    right:16px!important;
    width:56px!important;
    height:56px!important;
    border-radius:20px!important;
    z-index:1250!important;
  }
}

@media (max-width:380px){
  body:not(.admin-body) .wa-fab,
  body:not(.admin-body) .whatsapp-fab{
    bottom:calc(96px + env(safe-area-inset-bottom))!important;
    right:12px!important;
    width:52px!important;
    height:52px!important;
  }
}

/* =====================================================================
   ROYAL INN UI REVAMP v4 — PWA, premium hero, one-screen package detail,
   admin operations shell and 1080×1620 circular studio.
   ===================================================================== */

/* ---------- Install app button ---------- */
.app-install-button[hidden]{display:none!important;}
.app-install-button:not([hidden]){display:inline-flex!important;}

/* ---------- Premium home hero ---------- */
body:not(.admin-body) .hero.hero-premium{
  min-height:auto!important;
  padding:clamp(118px,11vw,146px) 0 86px!important;
  display:block!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 10% 18%,rgba(215,169,52,.13),transparent 31%),
    radial-gradient(circle at 82% 8%,rgba(15,61,94,.11),transparent 34%),
    linear-gradient(180deg,#fffdf8 0%,#f6f0e4 100%)!important;
  color:#07182f!important;
}
body:not(.admin-body) .hero.hero-premium::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:linear-gradient(rgba(7,24,47,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,24,47,.035) 1px,transparent 1px)!important;
  background-size:46px 46px!important;
  opacity:.55!important;
  pointer-events:none!important;
}
body:not(.admin-body) .hero.hero-premium::after{
  content:""!important;
  position:absolute!important;
  left:-8%!important;right:-8%!important;bottom:-110px!important;height:220px!important;
  border-radius:50% 50% 0 0!important;
  background:#07182f!important;
  opacity:.035!important;
  pointer-events:none!important;
}
body:not(.admin-body) .hero.hero-premium .hero-grid{
  position:relative!important;
  z-index:2!important;
  max-width:1240px!important;
  margin:0 auto!important;
  padding:0 22px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr)!important;
  gap:clamp(46px,6vw,84px)!important;
  align-items:center!important;
}
body:not(.admin-body) .hero.hero-premium .hero-copy{min-width:0!important;}
body:not(.admin-body) .hero.hero-premium .hero-eyebrow{
  display:inline-flex!important;align-items:center!important;gap:10px!important;
  padding:9px 14px!important;border-radius:999px!important;
  background:#fff!important;border:1px solid #e5d5ae!important;
  color:#765315!important;font-size:.73rem!important;font-weight:900!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
  box-shadow:0 10px 30px rgba(7,24,47,.06)!important;
}
body:not(.admin-body) .hero.hero-premium .hero-eyebrow .dot{
  width:9px!important;height:9px!important;border-radius:50%!important;background:#1b8b61!important;
  box-shadow:0 0 0 5px rgba(27,139,97,.12)!important;
}
body:not(.admin-body) .hero.hero-premium h1{
  margin:24px 0 20px!important;
  color:#07182f!important;
  font-size:clamp(3.55rem,5.6vw,6.25rem)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  max-width:760px!important;
  text-shadow:none!important;
  opacity:1!important;transform:none!important;animation:none!important;
}
body:not(.admin-body) .hero.hero-premium h1 em{
  display:inline-block!important;color:#b77e14!important;font-style:italic!important;
  background:none!important;-webkit-text-fill-color:currentColor!important;
}
body:not(.admin-body) .hero.hero-premium h1 em::after{display:none!important;}
body:not(.admin-body) .hero.hero-premium .lead{
  max-width:680px!important;margin:0!important;
  color:#4e5d6f!important;font-size:1.08rem!important;line-height:1.75!important;
  opacity:1!important;transform:none!important;animation:none!important;
}
body:not(.admin-body) .hero.hero-premium .hero-actions{
  display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:28px!important;
  opacity:1!important;transform:none!important;animation:none!important;
}
body:not(.admin-body) .hero.hero-premium .hero-actions .btn{
  min-height:50px!important;padding:0 22px!important;border-radius:16px!important;
  font-size:.76rem!important;letter-spacing:.07em!important;font-weight:900!important;
}
body:not(.admin-body) .hero.hero-premium .hero-actions .btn-primary{
  color:#fff!important;background:linear-gradient(135deg,#07182f,#123f64)!important;
  box-shadow:0 17px 34px rgba(7,24,47,.22)!important;border:1px solid #07182f!important;
}
body:not(.admin-body) .hero.hero-premium .hero-actions .btn-ghost{
  color:#07182f!important;background:#fff!important;border:1px solid #d9dfE6!important;
  box-shadow:0 10px 24px rgba(7,24,47,.07)!important;backdrop-filter:none!important;
}
body:not(.admin-body) .hero-trust-row{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;margin-top:34px!important;
}
body:not(.admin-body) .hero-trust-row>span{
  min-width:0!important;display:grid!important;grid-template-columns:26px 1fr!important;
  grid-template-rows:auto auto!important;column-gap:9px!important;align-items:center!important;
  padding:13px 12px!important;border-radius:17px!important;
  background:rgba(255,255,255,.72)!important;border:1px solid rgba(7,24,47,.08)!important;
}
body:not(.admin-body) .hero-trust-row .icon{grid-row:1/3!important;color:#b77e14!important;width:21px!important;height:21px!important;}
body:not(.admin-body) .hero-trust-row strong{color:#07182f!important;font-size:.82rem!important;line-height:1.1!important;}
body:not(.admin-body) .hero-trust-row small{color:#687588!important;font-size:.7rem!important;margin-top:3px!important;}
body:not(.admin-body) .hero.hero-premium .hero-visual{
  max-width:none!important;min-height:0!important;width:100%!important;margin:0!important;
  display:block!important;opacity:1!important;transform:none!important;animation:none!important;
}
body:not(.admin-body) .hero-board{
  position:relative!important;padding:26px!important;border-radius:36px!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 86% 8%,rgba(215,169,52,.22),transparent 26%),
    linear-gradient(145deg,#07182f 0%,#0d2f4c 58%,#07182f 100%)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 38px 90px rgba(7,24,47,.30)!important;
  color:#fff!important;
}
body:not(.admin-body) .hero-board::before{
  content:""!important;position:absolute!important;inset:12px!important;border:1px solid rgba(215,169,52,.18)!important;border-radius:28px!important;pointer-events:none!important;
}
body:not(.admin-body) .hero-board-top{position:relative!important;z-index:3!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;}
body:not(.admin-body) .hero-board-brand{display:flex!important;align-items:center!important;gap:13px!important;min-width:0!important;}
body:not(.admin-body) .hero-board-brand img,
body:not(.admin-body) .hero-board-brand>span{
  width:58px!important;height:58px!important;border-radius:17px!important;object-fit:contain!important;
  padding:5px!important;background:#fff!important;border:1px solid rgba(255,255,255,.28)!important;
}
body:not(.admin-body) .hero-board-brand>span{display:grid!important;place-items:center!important;color:#b77e14!important;font-weight:1000!important;font-size:1.5rem!important;}
body:not(.admin-body) .hero-board-brand small{display:block!important;color:#d8ab45!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.14em!important;}
body:not(.admin-body) .hero-board-brand strong{display:block!important;color:#fff!important;font-size:1rem!important;margin-top:4px!important;}
body:not(.admin-body) .hero-live-badge{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:8px 11px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.12em!important;}
body:not(.admin-body) .hero-live-badge i{width:8px!important;height:8px!important;border-radius:50%!important;background:#5ee29b!important;box-shadow:0 0 0 5px rgba(94,226,155,.12)!important;}
body:not(.admin-body) .hero-route-card{
  position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:1fr 130px 1fr!important;align-items:center!important;
  margin-top:24px!important;padding:18px 20px!important;border-radius:22px!important;
  background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.11)!important;
}
body:not(.admin-body) .hero-route-card>div:last-child{text-align:right!important;}
body:not(.admin-body) .hero-route-card small{display:block!important;color:#d8ab45!important;font-size:.62rem!important;font-weight:900!important;letter-spacing:.13em!important;}
body:not(.admin-body) .hero-route-card strong{display:block!important;color:#fff!important;font-size:1rem!important;margin-top:5px!important;}
body:not(.admin-body) .hero-route-card span{display:block!important;color:rgba(255,255,255,.58)!important;font-size:.72rem!important;margin-top:2px!important;}
body:not(.admin-body) .hero-route-line{display:flex!important;align-items:center!important;gap:8px!important;color:#d8ab45!important;}
body:not(.admin-body) .hero-route-line i{height:1px!important;background:rgba(216,171,69,.45)!important;flex:1!important;}
body:not(.admin-body) .hero-route-line b{font-size:1.15rem!important;transform:rotate(4deg)!important;}
body:not(.admin-body) .hero-kaaba-scene{
  position:relative!important;height:292px!important;margin:20px 0 14px!important;border-radius:26px!important;overflow:hidden!important;
  background:radial-gradient(circle at 50% 35%,rgba(216,171,69,.18),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.005))!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
body:not(.admin-body) .hero-moon{position:absolute!important;right:48px!important;top:34px!important;width:54px!important;height:54px!important;border-radius:50%!important;background:#f1d584!important;box-shadow:0 0 45px rgba(241,213,132,.3)!important;}
body:not(.admin-body) .hero-moon::after{content:""!important;position:absolute!important;left:-13px!important;top:-4px!important;width:54px!important;height:54px!important;border-radius:50%!important;background:#0b2a45!important;}
body:not(.admin-body) .hero-kaaba{position:absolute!important;left:50%!important;bottom:34px!important;transform:translateX(-50%)!important;width:164px!important;height:174px!important;background:linear-gradient(145deg,#161616,#020202)!important;box-shadow:20px 18px 0 #161616,0 25px 60px rgba(0,0,0,.45)!important;z-index:3!important;}
body:not(.admin-body) .hero-kaaba::before{content:""!important;position:absolute!important;left:0!important;right:-20px!important;top:0!important;height:18px!important;background:#222!important;transform:skewX(-47deg)!important;transform-origin:left bottom!important;}
body:not(.admin-body) .hero-kaaba-band{position:absolute!important;left:0!important;right:0!important;top:42px!important;height:21px!important;background:linear-gradient(180deg,#f0cf72,#b77e14)!important;}
body:not(.admin-body) .hero-kaaba-door{position:absolute!important;right:23px!important;bottom:17px!important;width:31px!important;height:76px!important;background:linear-gradient(135deg,#f0cf72,#9f6a11)!important;border:1px solid #f7df9c!important;}
body:not(.admin-body) .hero-orbit{position:absolute!important;left:50%!important;bottom:13px!important;transform:translateX(-50%)!important;border:1px solid rgba(216,171,69,.26)!important;border-radius:50%!important;}
body:not(.admin-body) .orbit-one{width:410px!important;height:80px!important;}
body:not(.admin-body) .orbit-two{width:310px!important;height:56px!important;bottom:23px!important;}
body:not(.admin-body) .hero-board-grid{position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;}
body:not(.admin-body) .hero-board-grid>div{padding:13px!important;border-radius:16px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.09)!important;min-width:0!important;}
body:not(.admin-body) .hero-board-grid small{display:block!important;color:#d8ab45!important;font-size:.58rem!important;letter-spacing:.11em!important;font-weight:900!important;}
body:not(.admin-body) .hero-board-grid strong{display:block!important;color:#fff!important;font-size:.73rem!important;line-height:1.35!important;margin-top:5px!important;}
body:not(.admin-body) .hero-premium + .container .hero-search{margin-top:-34px!important;position:relative!important;z-index:6!important;}

@media(max-width:980px){
  body:not(.admin-body) .hero.hero-premium .hero-grid{grid-template-columns:1fr!important;gap:46px!important;}
  body:not(.admin-body) .hero.hero-premium .hero-copy{text-align:center!important;}
  body:not(.admin-body) .hero.hero-premium .lead{margin:0 auto!important;}
  body:not(.admin-body) .hero.hero-premium .hero-actions{justify-content:center!important;}
  body:not(.admin-body) .hero-trust-row{max-width:680px!important;margin-left:auto!important;margin-right:auto!important;}
  body:not(.admin-body) .hero.hero-premium .hero-visual{max-width:640px!important;margin:0 auto!important;}
}
@media(max-width:620px){
  body:not(.admin-body) .hero.hero-premium{padding:102px 0 70px!important;}
  body:not(.admin-body) .hero.hero-premium .hero-grid{padding:0 15px!important;gap:32px!important;}
  body:not(.admin-body) .hero.hero-premium h1{font-size:clamp(2.65rem,14vw,4rem)!important;line-height:.96!important;}
  body:not(.admin-body) .hero.hero-premium .lead{font-size:.96rem!important;line-height:1.65!important;}
  body:not(.admin-body) .hero-trust-row{grid-template-columns:1fr!important;}
  body:not(.admin-body) .hero.hero-premium .hero-actions{display:grid!important;grid-template-columns:1fr!important;}
  body:not(.admin-body) .hero.hero-premium .hero-actions .btn{width:100%!important;}
  body:not(.admin-body) .hero-board{padding:18px!important;border-radius:28px!important;}
  body:not(.admin-body) .hero-board-brand img,body:not(.admin-body) .hero-board-brand>span{width:48px!important;height:48px!important;}
  body:not(.admin-body) .hero-board-brand strong{font-size:.86rem!important;}
  body:not(.admin-body) .hero-route-card{grid-template-columns:1fr 68px 1fr!important;padding:15px!important;}
  body:not(.admin-body) .hero-route-card strong{font-size:.82rem!important;}
  body:not(.admin-body) .hero-route-card span{font-size:.62rem!important;}
  body:not(.admin-body) .hero-kaaba-scene{height:240px!important;}
  body:not(.admin-body) .hero-kaaba{width:128px!important;height:142px!important;}
  body:not(.admin-body) .orbit-one{width:300px!important;}
  body:not(.admin-body) .orbit-two{width:225px!important;}
  body:not(.admin-body) .hero-board-grid{grid-template-columns:1fr!important;}
}

/* ---------- One-screen package detail ---------- */
body.package-screen-page{
  background:#eef3f8!important;color:#0f172a!important;
}
body.package-screen-page .pkg-screen-wrap{padding:88px 0 14px!important;min-height:100dvh!important;background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%)!important;}
body.package-screen-page .pkg-screen-shell{max-width:1380px!important;padding:0 20px!important;margin:0 auto!important;}
body.package-screen-page .pkg-screen-topline{height:30px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:8px!important;}
body.package-screen-page .pkg-screen-breadcrumb{display:flex!important;align-items:center!important;gap:8px!important;color:#64748b!important;font-size:.75rem!important;font-weight:800!important;}
body.package-screen-page .pkg-screen-breadcrumb a{color:#0f3d5e!important;}
body.package-screen-page .pkg-screen-breadcrumb strong{color:#0f172a!important;}
body.package-screen-page .pkg-screen-status{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#34564a!important;font-size:.72rem!important;font-weight:900!important;}
body.package-screen-page .pkg-screen-status i{width:8px!important;height:8px!important;border-radius:50%!important;background:#20a46b!important;box-shadow:0 0 0 5px rgba(32,164,107,.12)!important;}
body.package-screen-page .pkg-screen-header{
  min-height:112px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:24px!important;
  padding:18px 22px!important;border-radius:24px!important;background:#07182f!important;color:#fff!important;
  box-shadow:0 22px 55px rgba(7,24,47,.18)!important;border:1px solid rgba(255,255,255,.08)!important;
}
body.package-screen-page .pkg-detail-kickers{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:0 0 8px!important;}
body.package-screen-page .pkg-detail-kickers span{padding:5px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;color:#f2d47e!important;font-size:.61rem!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;}
body.package-screen-page .pkg-screen-title h1{margin:0!important;color:#fff!important;font-family:var(--font-body)!important;font-size:clamp(1.45rem,2.2vw,2.15rem)!important;font-weight:1000!important;letter-spacing:-.035em!important;line-height:1.08!important;}
body.package-screen-page .pkg-screen-title p{margin:7px 0 0!important;color:rgba(255,255,255,.67)!important;font-size:.82rem!important;font-weight:700!important;}
body.package-screen-page .pkg-screen-price{display:grid!important;grid-template-columns:auto auto!important;column-gap:11px!important;align-items:center!important;padding:0 20px!important;border-left:1px solid rgba(255,255,255,.12)!important;border-right:1px solid rgba(255,255,255,.12)!important;}
body.package-screen-page .pkg-screen-price img{grid-row:1/4!important;width:46px!important;height:46px!important;border-radius:12px!important;object-fit:contain!important;background:#fff!important;padding:5px!important;}
body.package-screen-page .pkg-screen-price span,body.package-screen-page .pkg-screen-price small{color:rgba(255,255,255,.58)!important;font-size:.62rem!important;font-weight:800!important;}
body.package-screen-page .pkg-screen-price strong{color:#f3d37b!important;font-size:1.26rem!important;line-height:1.1!important;white-space:nowrap!important;}
body.package-screen-page .pkg-screen-book{min-height:47px!important;border-radius:14px!important;padding:0 20px!important;background:#d6a72d!important;color:#07182f!important;border:0!important;font-weight:1000!important;letter-spacing:.05em!important;}
body.package-screen-page .pkg-screen-grid{
  margin-top:12px!important;display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(320px,.78fr)!important;grid-template-rows:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:12px!important;
  height:calc(100dvh - 252px)!important;min-height:430px!important;
}
body.package-screen-page .pkg-screen-card{min-width:0!important;overflow:hidden!important;padding:17px!important;border-radius:22px!important;background:#fff!important;border:1px solid #dce5ee!important;box-shadow:0 13px 34px rgba(15,23,42,.065)!important;color:#0f172a!important;}
body.package-screen-page .pkg-flight-card{grid-column:1!important;grid-row:1!important;}
body.package-screen-page .pkg-stay-card{grid-column:2!important;grid-row:1!important;}
body.package-screen-page .pkg-inclusion-card{grid-column:1!important;grid-row:2!important;}
body.package-screen-page .pkg-room-card{grid-column:2!important;grid-row:2!important;display:flex!important;flex-direction:column!important;}
body.package-screen-page .pkg-card-heading{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:13px!important;}
body.package-screen-page .pkg-card-heading>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:11px!important;background:#eef3f8!important;color:#9b6a10!important;font-size:.69rem!important;font-weight:1000!important;}
body.package-screen-page .pkg-card-heading h2{margin:0!important;color:#07182f!important;font-family:var(--font-body)!important;font-size:1rem!important;font-weight:1000!important;letter-spacing:-.02em!important;}
body.package-screen-page .pkg-card-heading p{margin:2px 0 0!important;color:#728094!important;font-size:.68rem!important;font-weight:700!important;}
body.package-screen-page .pkg-flight-compact{display:grid!important;grid-template-columns:minmax(110px,.68fr) minmax(88px,.42fr) minmax(210px,1.3fr) minmax(120px,.65fr)!important;align-items:center!important;gap:10px!important;padding:11px!important;border-radius:15px!important;background:#f7f9fc!important;border:1px solid #e5ebf1!important;margin-bottom:8px!important;}
body.package-screen-page .pkg-flight-compact small{display:block!important;color:#7a8797!important;font-size:.58rem!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin-bottom:4px!important;}
body.package-screen-page .pkg-flight-compact strong{display:block!important;color:#162337!important;font-size:.72rem!important;font-weight:900!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
body.package-screen-page .pkg-flight-direction{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;}
body.package-screen-page .pkg-flight-direction b{display:grid!important;place-items:center!important;width:40px!important;height:30px!important;border-radius:9px!important;background:#155b84!important;color:#fff!important;font-size:.62rem!important;letter-spacing:.07em!important;flex:0 0 auto!important;}
body.package-screen-page .pkg-flight-direction.return b{background:#176044!important;}
body.package-screen-page .pkg-flight-direction span{color:#0f3d5e!important;font-size:.68rem!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.package-screen-page .pkg-trip-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:9px!important;}
body.package-screen-page .pkg-trip-facts>span{padding:9px 10px!important;border-radius:13px!important;background:#07182f!important;min-width:0!important;}
body.package-screen-page .pkg-trip-facts small{display:block!important;color:rgba(255,255,255,.52)!important;font-size:.56rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
body.package-screen-page .pkg-trip-facts strong{display:block!important;color:#fff!important;font-size:.74rem!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.package-screen-page .pkg-stay-list{display:grid!important;gap:9px!important;}
body.package-screen-page .pkg-stay-item{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;padding:10px!important;border-radius:16px!important;background:#f7f9fc!important;border:1px solid #e4ebf2!important;}
body.package-screen-page .pkg-stay-thumb{height:74px!important;border-radius:13px!important;overflow:hidden!important;background:#123f64!important;display:grid!important;place-items:center!important;color:#f2d47e!important;font-weight:1000!important;}
body.package-screen-page .pkg-stay-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;}
body.package-screen-page .pkg-stay-item small{display:block!important;color:#9b6a10!important;font-size:.58rem!important;font-weight:1000!important;letter-spacing:.06em!important;}
body.package-screen-page .pkg-stay-item h3{margin:4px 0!important;color:#07182f!important;font-family:var(--font-body)!important;font-size:.77rem!important;font-weight:1000!important;line-height:1.24!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
body.package-screen-page .pkg-stay-item p{margin:0!important;color:#708093!important;font-size:.65rem!important;}
body.package-screen-page .pkg-stay-item a{color:#0f5e8b!important;font-weight:900!important;}
body.package-screen-page .pkg-stay-item p span{margin:0 4px!important;}
body.package-screen-page .pkg-service-compact{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
body.package-screen-page .pkg-service-compact>span{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;padding:9px 10px!important;border-radius:13px!important;background:#f4f7fa!important;border:1px solid #e0e8ef!important;color:#26364a!important;font-size:.67rem!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.package-screen-page .pkg-service-compact .icon{width:15px!important;height:15px!important;color:#b77e14!important;flex:0 0 auto!important;}
body.package-screen-page .pkg-confirm-note{margin:9px 0 0!important;padding:8px 10px!important;border-radius:12px!important;background:#fff9e9!important;color:#765b22!important;font-size:.64rem!important;line-height:1.35!important;border:1px solid #f0dfad!important;}
body.package-screen-page .pkg-room-compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-bottom:10px!important;}
body.package-screen-page .pkg-room-compact>div{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:50px!important;padding:8px 10px!important;border-radius:13px!important;background:#f5f8fb!important;border:1px solid #e1e8ef!important;}
body.package-screen-page .pkg-room-compact>div.best{background:#fff7df!important;border-color:#ead397!important;}
body.package-screen-page .pkg-room-compact span{color:#738095!important;font-size:.58rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
body.package-screen-page .pkg-room-compact strong{color:#07182f!important;font-size:.78rem!important;margin-top:3px!important;white-space:nowrap!important;}
body.package-screen-page .pkg-room-card .btn{min-height:38px!important;padding:0 12px!important;border-radius:12px!important;font-size:.65rem!important;letter-spacing:.05em!important;margin-top:auto!important;}
body.package-screen-page .pkg-room-card .btn+.btn{margin-top:7px!important;}
body.package-screen-page .pkg-room-card .btn-primary{background:#07182f!important;color:#fff!important;border:1px solid #07182f!important;box-shadow:none!important;}
body.package-screen-page .pkg-room-card .btn-ghost{background:#fff!important;color:#0f3d5e!important;border:1px solid #cdd8e2!important;box-shadow:none!important;}
body.package-screen-page .footer,
body.package-screen-page .site-footer,
body.package-screen-page .wa-fab,
body.package-screen-page .app-bottom-nav,
body.package-screen-page .pkg-mobile-sticky-book{display:none!important;}

@media(min-width:981px){
  body.package-screen-page{overflow:hidden!important;}
}
@media(max-width:1180px) and (min-width:981px){
  body.package-screen-page .pkg-screen-header{grid-template-columns:minmax(0,1fr) auto!important;}
  body.package-screen-page .pkg-screen-book{grid-column:2!important;}
  body.package-screen-page .pkg-screen-price{border-right:0!important;}
  body.package-screen-page .pkg-screen-grid{grid-template-columns:minmax(0,1.4fr) minmax(286px,.8fr)!important;}
  body.package-screen-page .pkg-service-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  body.package-screen-page{overflow:auto!important;padding-bottom:82px!important;}
  body.package-screen-page .pkg-screen-wrap{padding-top:78px!important;min-height:auto!important;}
  body.package-screen-page .pkg-screen-header{grid-template-columns:1fr auto!important;}
  body.package-screen-page .pkg-screen-book{grid-column:1/3!important;width:100%!important;}
  body.package-screen-page .pkg-screen-price{border-right:0!important;}
  body.package-screen-page .pkg-screen-grid{height:auto!important;min-height:0!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;}
  body.package-screen-page .pkg-flight-card,
  body.package-screen-page .pkg-stay-card,
  body.package-screen-page .pkg-inclusion-card,
  body.package-screen-page .pkg-room-card{grid-column:auto!important;grid-row:auto!important;}
  body.package-screen-page .pkg-mobile-sticky-book{display:block!important;position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;z-index:1300!important;}
  body.package-screen-page .pkg-mobile-sticky-book .btn{width:100%!important;border-radius:16px!important;background:#07182f!important;color:#fff!important;box-shadow:0 15px 40px rgba(7,24,47,.28)!important;}
}
@media(max-width:680px){
  body.package-screen-page .pkg-screen-shell{padding:0 11px!important;}
  body.package-screen-page .pkg-screen-topline{display:none!important;}
  body.package-screen-page .pkg-screen-header{grid-template-columns:1fr!important;gap:12px!important;padding:17px!important;border-radius:20px!important;}
  body.package-screen-page .pkg-screen-price{grid-template-columns:auto 1fr!important;border:0!important;padding:0!important;justify-self:start!important;}
  body.package-screen-page .pkg-screen-book{grid-column:auto!important;}
  body.package-screen-page .pkg-flight-compact{grid-template-columns:1fr 1fr!important;}
  body.package-screen-page .pkg-flight-direction{grid-column:1/3!important;}
  body.package-screen-page .pkg-trip-facts{grid-template-columns:1fr!important;}
  body.package-screen-page .pkg-service-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.package-screen-page .pkg-stay-item{grid-template-columns:70px minmax(0,1fr)!important;}
}

/* ---------- Admin operations UI v4 ---------- */
body.admin-body.admin-ui-v4{
  --admin-navy:#07182f;
  --admin-navy-2:#0d2e49;
  --admin-gold:#c99527;
  --admin-bg:#f2f5f9;
  --admin-card:#ffffff;
  --admin-line:#dfe6ee;
  --admin-text:#122033;
  --admin-muted:#64748b;
  margin:0!important;min-height:100vh!important;background:var(--admin-bg)!important;color:var(--admin-text)!important;font-family:var(--font-body)!important;
}
body.admin-body.admin-ui-v4::before,body.admin-body.admin-ui-v4::after{display:none!important;}
.admin-ui-v4 .admin-app-shell{display:grid!important;grid-template-columns:276px minmax(0,1fr)!important;min-height:100vh!important;position:relative!important;z-index:1!important;}
.admin-ui-v4 .admin-side{
  position:sticky!important;top:0!important;left:auto!important;bottom:auto!important;z-index:60!important;
  width:auto!important;height:100vh!important;padding:16px!important;display:flex!important;flex-direction:column!important;
  background:linear-gradient(180deg,#07182f 0%,#0a243b 58%,#061525 100%)!important;
  border:0!important;border-right:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;
  box-shadow:18px 0 55px rgba(7,24,47,.08)!important;overflow:hidden!important;
}
.admin-ui-v4 .admin-side-brand{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:4px 4px 18px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;}
.admin-ui-v4 .admin-brand{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important;color:#fff!important;text-decoration:none!important;}
.admin-ui-v4 .admin-brand-logo,.admin-ui-v4 .admin-brand-mark{width:50px!important;height:50px!important;border-radius:16px!important;object-fit:contain!important;background:#fff!important;padding:4px!important;box-shadow:0 13px 30px rgba(0,0,0,.18)!important;flex:0 0 auto!important;}
.admin-ui-v4 .admin-brand-mark{display:grid!important;place-items:center!important;color:var(--admin-gold)!important;font-size:1.45rem!important;font-weight:1000!important;}
.admin-ui-v4 .admin-brand-copy{display:block!important;min-width:0!important;}
.admin-ui-v4 .admin-brand-copy strong{display:block!important;color:#fff!important;font-size:.98rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.admin-ui-v4 .admin-brand-copy small{display:block!important;color:rgba(255,255,255,.55)!important;font-size:.66rem!important;letter-spacing:.07em!important;margin-top:3px!important;}
.admin-ui-v4 .admin-side-close{display:none!important;width:36px!important;height:36px!important;border:0!important;border-radius:12px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:1.45rem!important;}
.admin-ui-v4 .admin-side-context{display:flex!important;align-items:center!important;gap:10px!important;margin:15px 2px 10px!important;padding:11px 12px!important;border-radius:15px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;}
.admin-ui-v4 .admin-live-dot{width:10px!important;height:10px!important;border-radius:50%!important;background:#54d597!important;box-shadow:0 0 0 6px rgba(84,213,151,.10)!important;flex:0 0 auto!important;}
.admin-ui-v4 .admin-side-context strong{display:block!important;color:#fff!important;font-size:.73rem!important;}
.admin-ui-v4 .admin-side-context small{display:block!important;color:rgba(255,255,255,.48)!important;font-size:.61rem!important;margin-top:2px!important;}
.admin-ui-v4 .admin-nav{display:flex!important;flex-direction:column!important;gap:13px!important;overflow:auto!important;padding:4px 2px 14px!important;scrollbar-width:thin!important;}
.admin-ui-v4 .admin-nav::-webkit-scrollbar{width:5px!important;}.admin-ui-v4 .admin-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12)!important;border-radius:99px!important;}
.admin-ui-v4 .admin-nav-group{display:grid!important;gap:4px!important;}
.admin-ui-v4 .admin-nav-title{padding:0 11px 4px!important;color:rgba(255,255,255,.35)!important;font-size:.58rem!important;font-weight:1000!important;letter-spacing:.15em!important;text-transform:uppercase!important;}
.admin-ui-v4 .admin-nav a{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important;padding:0 12px!important;border-radius:13px!important;color:rgba(255,255,255,.66)!important;background:transparent!important;border:1px solid transparent!important;text-decoration:none!important;font-size:.76rem!important;font-weight:850!important;letter-spacing:.01em!important;}
.admin-ui-v4 .admin-nav a .icon{width:18px!important;height:18px!important;color:rgba(255,255,255,.48)!important;opacity:1!important;flex:0 0 auto!important;}
.admin-ui-v4 .admin-nav a:hover{color:#fff!important;background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.07)!important;}
.admin-ui-v4 .admin-nav a.active{color:#fff!important;background:linear-gradient(135deg,rgba(201,149,39,.26),rgba(201,149,39,.11))!important;border-color:rgba(221,181,91,.32)!important;box-shadow:0 12px 28px rgba(0,0,0,.13)!important;}
.admin-ui-v4 .admin-nav a.active .icon{color:#f0cb71!important;}
.admin-ui-v4 .admin-nav a>i{margin-left:auto!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#f0cb71!important;box-shadow:0 0 0 5px rgba(240,203,113,.1)!important;}
.admin-ui-v4 .admin-side-user{display:grid!important;grid-template-columns:42px minmax(0,1fr) 30px!important;align-items:center!important;gap:10px!important;margin-top:auto!important;padding:12px!important;border-radius:17px!important;background:rgba(255,255,255,.065)!important;border:1px solid rgba(255,255,255,.09)!important;}
.admin-ui-v4 .admin-user-avatar{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:14px!important;background:linear-gradient(135deg,#f0cb71,#b77e14)!important;color:#07182f!important;font-weight:1000!important;}
.admin-ui-v4 .admin-side-user strong{display:block!important;color:#fff!important;font-size:.73rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.admin-ui-v4 .admin-side-user small{display:block!important;color:rgba(255,255,255,.47)!important;font-size:.6rem!important;margin-top:3px!important;}
.admin-ui-v4 .admin-side-user>a{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;text-decoration:none!important;}
.admin-ui-v4 .admin-workspace{min-width:0!important;display:flex!important;flex-direction:column!important;}
.admin-ui-v4 .admin-top{
  position:sticky!important;top:0!important;left:auto!important;right:auto!important;z-index:50!important;
  height:78px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;
  padding:0 28px!important;background:rgba(255,255,255,.92)!important;border:0!important;border-bottom:1px solid var(--admin-line)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.045)!important;backdrop-filter:blur(18px)!important;
}
.admin-ui-v4 .admin-top-left{display:flex!important;align-items:center!important;gap:14px!important;}
.admin-ui-v4 .admin-menu-toggle{display:none!important;width:42px!important;height:42px!important;border-radius:13px!important;background:#fff!important;border:1px solid var(--admin-line)!important;padding:10px!important;}
.admin-ui-v4 .admin-menu-toggle span{display:block!important;height:2px!important;background:#07182f!important;border-radius:9px!important;margin:4px 0!important;}
.admin-ui-v4 .admin-page-ident span{display:block!important;color:#8b98a8!important;font-size:.61rem!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase!important;}
.admin-ui-v4 .admin-page-ident strong{display:block!important;color:#07182f!important;font-size:1.08rem!important;font-weight:1000!important;margin-top:3px!important;}
.admin-ui-v4 .admin-top-actions{display:flex!important;align-items:center!important;gap:9px!important;}
.admin-ui-v4 .admin-pill-link,.admin-ui-v4 .admin-date-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 13px!important;border-radius:12px!important;background:#fff!important;border:1px solid var(--admin-line)!important;color:#334155!important;text-decoration:none!important;font-size:.68rem!important;font-weight:900!important;box-shadow:none!important;}
.admin-ui-v4 .admin-pill-link:hover{border-color:#b8c7d6!important;color:#07182f!important;background:#f8fafc!important;}
.admin-ui-v4 .admin-date-chip{color:#7a8798!important;background:#f7f9fb!important;}
.admin-ui-v4 .admin-main{width:100%!important;max-width:1600px!important;margin:0 auto!important;padding:27px clamp(18px,2.4vw,36px) 50px!important;min-width:0!important;}
.admin-ui-v4 .admin-main,.admin-ui-v4 .admin-main *{box-sizing:border-box!important;}
.admin-ui-v4 .admin-main h1,.admin-ui-v4 .admin-main h2,.admin-ui-v4 .admin-main h3,.admin-ui-v4 .admin-main h4{color:#0f1f33!important;text-shadow:none!important;}
.admin-ui-v4 .admin-main p,.admin-ui-v4 .admin-main .muted,.admin-ui-v4 .admin-main .muted-small{color:#667588!important;text-shadow:none!important;}
.admin-ui-v4 .admin-page-hero{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin:0 0 22px!important;padding:26px 28px!important;border-radius:24px!important;background:linear-gradient(135deg,#07182f,#104566)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 20px 55px rgba(7,24,47,.16)!important;overflow:hidden!important;}
.admin-ui-v4 .admin-page-hero h1,.admin-ui-v4 .admin-page-hero h2{margin:5px 0 8px!important;color:#fff!important;font-family:var(--font-body)!important;font-size:clamp(1.6rem,2.6vw,2.35rem)!important;line-height:1.06!important;font-weight:1000!important;letter-spacing:-.035em!important;}
.admin-ui-v4 .admin-page-hero p{margin:0!important;color:rgba(255,255,255,.67)!important;max-width:760px!important;line-height:1.55!important;}
.admin-ui-v4 .admin-eyebrow{color:#f1ce75!important;font-size:.63rem!important;font-weight:1000!important;letter-spacing:.14em!important;text-transform:uppercase!important;}
.admin-ui-v4 .admin-hero-actions{display:flex!important;gap:9px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.admin-ui-v4 .admin-page-hero .btn{min-height:42px!important;padding:0 16px!important;border-radius:13px!important;font-size:.66rem!important;letter-spacing:.06em!important;}
.admin-ui-v4 .admin-page-hero .btn-primary{background:#f0cb71!important;color:#07182f!important;border:0!important;box-shadow:none!important;}
.admin-ui-v4 .admin-page-hero .btn-ghost{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important;backdrop-filter:none!important;}
.admin-ui-v4 .admin-panel-card,.admin-ui-v4 .admin-clean-card,.admin-ui-v4 .form-wrap,.admin-ui-v4 .table-wrap,.admin-ui-v4 .pb-panel,.admin-ui-v4 .api-hub-panel,.admin-ui-v4 .users-layout>section,.admin-ui-v4 .settings-card{
  background:#fff!important;color:#122033!important;border:1px solid var(--admin-line)!important;border-radius:20px!important;box-shadow:0 12px 34px rgba(15,23,42,.055)!important;
}
.admin-ui-v4 .admin-stat-grid,.admin-ui-v4 .dash-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 0 22px!important;}
.admin-ui-v4 .stat-card{min-height:122px!important;padding:18px!important;border-radius:19px!important;background:#fff!important;border:1px solid var(--admin-line)!important;box-shadow:0 10px 28px rgba(15,23,42,.05)!important;position:relative!important;overflow:hidden!important;}
.admin-ui-v4 .stat-card::before{content:""!important;position:absolute!important;right:-28px!important;top:-34px!important;width:110px!important;height:110px!important;border-radius:50%!important;background:#edf3f8!important;}
.admin-ui-v4 .stat-card .label{color:#718094!important;font-size:.65rem!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
.admin-ui-v4 .stat-card .val{position:relative!important;color:#07182f!important;font-size:2rem!important;font-weight:1000!important;line-height:1!important;margin:15px 0 7px!important;}
.admin-ui-v4 .stat-card small{color:#8895a6!important;font-size:.66rem!important;}
.admin-ui-v4 .table-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:20px 22px!important;border-bottom:1px solid var(--admin-line)!important;}
.admin-ui-v4 .table-head h3{margin:0 0 5px!important;font-size:1.05rem!important;font-weight:1000!important;}
.admin-ui-v4 .admin-table-scroll,.admin-ui-v4 .table-wrap{width:100%!important;overflow:auto!important;}
.admin-ui-v4 table,.admin-ui-v4 .tbl{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;color:#243449!important;}
.admin-ui-v4 table thead th,.admin-ui-v4 .tbl thead th{padding:12px 14px!important;background:#f3f6f9!important;color:#516073!important;border-bottom:1px solid #dce4ec!important;font-size:.62rem!important;font-weight:1000!important;letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap!important;}
.admin-ui-v4 table tbody td,.admin-ui-v4 .tbl tbody td{padding:13px 14px!important;color:#26364a!important;border-bottom:1px solid #edf1f5!important;font-size:.76rem!important;vertical-align:middle!important;background:#fff!important;}
.admin-ui-v4 table tbody tr:hover td,.admin-ui-v4 .tbl tbody tr:hover td{background:#f9fbfd!important;}
.admin-ui-v4 table strong,.admin-ui-v4 .tbl strong{color:#0f2034!important;}
.admin-ui-v4 .input,.admin-ui-v4 input[type="text"],.admin-ui-v4 input[type="email"],.admin-ui-v4 input[type="number"],.admin-ui-v4 input[type="date"],.admin-ui-v4 input[type="url"],.admin-ui-v4 input[type="search"],.admin-ui-v4 input[type="password"],.admin-ui-v4 select,.admin-ui-v4 textarea{
  min-height:43px!important;width:100%!important;padding:10px 12px!important;border-radius:12px!important;background:#fff!important;color:#17263a!important;border:1px solid #cfd9e4!important;box-shadow:0 1px 0 rgba(15,23,42,.02)!important;font-family:var(--font-body)!important;font-size:.78rem!important;outline:0!important;
}
.admin-ui-v4 textarea{min-height:110px!important;line-height:1.5!important;resize:vertical!important;}
.admin-ui-v4 .input:focus,.admin-ui-v4 input:focus,.admin-ui-v4 select:focus,.admin-ui-v4 textarea:focus{border-color:#1a6a96!important;box-shadow:0 0 0 4px rgba(26,106,150,.10)!important;}
.admin-ui-v4 .field-group{display:grid!important;gap:7px!important;min-width:0!important;}
.admin-ui-v4 .field-group label{color:#344459!important;font-size:.67rem!important;font-weight:900!important;letter-spacing:.02em!important;}
.admin-ui-v4 .btn{min-height:40px!important;border-radius:12px!important;padding:0 15px!important;font-size:.66rem!important;font-weight:1000!important;letter-spacing:.055em!important;box-shadow:none!important;}
.admin-ui-v4 .btn-primary{background:#0f4e75!important;color:#fff!important;border:1px solid #0f4e75!important;}
.admin-ui-v4 .btn-primary:hover{background:#0b3f61!important;transform:none!important;}
.admin-ui-v4 .btn-ghost{background:#fff!important;color:#294057!important;border:1px solid #ccd7e2!important;backdrop-filter:none!important;}
.admin-ui-v4 .btn-danger,.admin-ui-v4 .danger{background:#fff1f2!important;color:#b4233a!important;border:1px solid #fecdd3!important;}
.admin-ui-v4 .alert{border-radius:15px!important;padding:13px 15px!important;color:#17304a!important;background:#f7fafc!important;border:1px solid #dce5ed!important;}
.admin-ui-v4 .alert-success{background:#edf9f2!important;color:#17603f!important;border-color:#b9e5ca!important;}
.admin-ui-v4 .alert-error{background:#fff1f2!important;color:#9f2338!important;border-color:#fecdd3!important;}
.admin-ui-v4 .badge{border-radius:999px!important;font-size:.6rem!important;font-weight:1000!important;}
.admin-ui-v4 .admin-empty-state{padding:22px!important;border-radius:16px!important;background:#f7f9fb!important;border:1px dashed #cbd7e3!important;color:#68768a!important;text-align:center!important;}
.admin-ui-v4 .admin-mobile-scrim{display:none!important;}

@media(max-width:1180px){
  .admin-ui-v4 .admin-app-shell{grid-template-columns:238px minmax(0,1fr)!important;}
  .admin-ui-v4 .admin-stat-grid,.admin-ui-v4 .dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:880px){
  .admin-ui-v4 .admin-app-shell{display:block!important;}
  .admin-ui-v4 .admin-side{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,310px)!important;height:100dvh!important;transform:translateX(-104%)!important;transition:transform .25s ease!important;box-shadow:30px 0 80px rgba(0,0,0,.28)!important;}
  body.admin-menu-open.admin-ui-v4 .admin-side{transform:translateX(0)!important;}
  .admin-ui-v4 .admin-side-close{display:grid!important;place-items:center!important;}
  .admin-ui-v4 .admin-mobile-scrim{position:fixed!important;inset:0!important;z-index:55!important;background:rgba(4,16,31,.48)!important;backdrop-filter:blur(3px)!important;}
  body.admin-menu-open.admin-ui-v4 .admin-mobile-scrim{display:block!important;}
  .admin-ui-v4 .admin-menu-toggle{display:block!important;}
  .admin-ui-v4 .admin-top{height:70px!important;padding:0 15px!important;}
  .admin-ui-v4 .admin-date-chip{display:none!important;}
  .admin-ui-v4 .admin-main{padding:18px 13px 40px!important;}
  .admin-ui-v4 .admin-page-hero{display:block!important;padding:21px!important;border-radius:20px!important;}
  .admin-ui-v4 .admin-hero-actions{justify-content:flex-start!important;margin-top:16px!important;}
}
@media(max-width:620px){
  .admin-ui-v4 .admin-top-actions .admin-pill-link:not(.app-install-button){display:none!important;}
  .admin-ui-v4 .admin-page-ident span{display:none!important;}
  .admin-ui-v4 .admin-page-ident strong{font-size:.9rem!important;}
  .admin-ui-v4 .admin-stat-grid,.admin-ui-v4 .dash-cards{grid-template-columns:1fr 1fr!important;gap:9px!important;}
  .admin-ui-v4 .stat-card{min-height:108px!important;padding:14px!important;}
  .admin-ui-v4 .stat-card .val{font-size:1.6rem!important;}
  .admin-ui-v4 .table-head{display:block!important;padding:16px!important;}
  .admin-ui-v4 .table-head>*+*{margin-top:12px!important;}
}

/* ---------- Circular Studio ---------- */
.admin-ui-v4 .circular-studio{display:grid!important;gap:20px!important;}
.admin-ui-v4 .circular-hero{margin-bottom:0!important;}
.admin-ui-v4 .circular-workspace{display:grid!important;grid-template-columns:minmax(360px,.78fr) minmax(440px,1.22fr)!important;gap:18px!important;align-items:start!important;}
.admin-ui-v4 .circular-controls{padding:20px!important;display:grid!important;gap:16px!important;max-height:calc(100dvh - 132px)!important;overflow:auto!important;}
.admin-ui-v4 .circular-controls-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding-bottom:13px!important;border-bottom:1px solid var(--admin-line)!important;}
.admin-ui-v4 .circular-controls-head strong{color:#07182f!important;font-size:1rem!important;}
.admin-ui-v4 .circular-controls-head span,.admin-ui-v4 .circular-size-tag{display:inline-flex!important;align-items:center!important;padding:6px 9px!important;border-radius:999px!important;background:#edf4f8!important;color:#0f5b84!important;font-size:.59rem!important;font-weight:1000!important;letter-spacing:.08em!important;}
.admin-ui-v4 .circular-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;}
.admin-ui-v4 .circular-form-grid .full{grid-column:1/3!important;}
.admin-ui-v4 .circular-preview-panel{position:sticky!important;top:96px!important;display:grid!important;justify-items:center!important;gap:10px!important;padding:14px!important;border-radius:22px!important;background:#dce4eb!important;border:1px solid #cbd6e0!important;min-width:0!important;}
.admin-ui-v4 .circular-size-tag{justify-self:end!important;background:#07182f!important;color:#f0cb71!important;}
.admin-ui-v4 .circular-preview-frame{width:min(100%,620px)!important;aspect-ratio:2/3!important;background:#07182f!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 26px 60px rgba(7,24,47,.22)!important;}
.admin-ui-v4 .circular-preview-frame svg{display:block!important;width:100%!important;height:100%!important;}
@media(max-width:1120px){
  .admin-ui-v4 .circular-workspace{grid-template-columns:1fr!important;}
  .admin-ui-v4 .circular-controls{max-height:none!important;overflow:visible!important;}
  .admin-ui-v4 .circular-preview-panel{position:relative!important;top:auto!important;}
}
@media(max-width:560px){
  .admin-ui-v4 .circular-form-grid{grid-template-columns:1fr!important;}
  .admin-ui-v4 .circular-form-grid .full{grid-column:auto!important;}
  .admin-ui-v4 .circular-preview-panel{padding:9px!important;border-radius:16px!important;}
}
body.package-screen-page .ad-slot[data-slot="footer_global"]{display:none!important;}

/* =====================================================================
   ROYAL INN APP UI REMAKE v5
   Stable sticky app header, safe page spacing, readable package screen,
   mobile tab navigation and polished admin workspace.
   ===================================================================== */

/* ---------- Global public app shell ---------- */
body.public-ui-v5:not(.admin-body){
  --public-nav-h:82px;
  --app-ink:#101828;
  --app-muted:#5f6c7b;
  --app-line:#dce3ea;
  --app-bg:#f3f6f9;
  --app-card:#ffffff;
  --app-navy:#0b3554;
  --app-navy-2:#124f78;
  --app-gold:#c79022;
  background:var(--app-bg)!important;
  color:var(--app-ink)!important;
  overflow-x:hidden!important;
}

body.public-ui-v5:not(.admin-body) .navbar{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  height:var(--public-nav-h)!important;
  padding:9px 0!important;
  background:rgba(243,246,249,.92)!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
  z-index:1500!important;
}
body.public-ui-v5:not(.admin-body) .navbar::after{display:none!important;}
body.public-ui-v5:not(.admin-body) .nav-inner{
  width:min(calc(100% - 28px),1260px)!important;
  max-width:1260px!important;
  height:64px!important;
  margin:0 auto!important;
  padding:0 12px 0 16px!important;
  gap:14px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(16,24,40,.09)!important;
  box-shadow:0 12px 34px rgba(16,24,40,.11)!important;
}
body.public-ui-v5:not(.admin-body) .brand{
  min-width:0!important;
  max-width:190px!important;
  gap:10px!important;
  color:var(--app-ink)!important;
  font-size:.94rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  overflow:hidden!important;
}
body.public-ui-v5:not(.admin-body) .brand-logo{
  width:auto!important;
  height:46px!important;
  max-width:172px!important;
  object-fit:contain!important;
  flex:0 1 auto!important;
}
body.public-ui-v5:not(.admin-body) .brand-name{
  color:var(--app-ink)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.public-ui-v5:not(.admin-body) .brand em{color:var(--app-navy)!important;}
body.public-ui-v5:not(.admin-body) .nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  padding:3px!important;
  border-radius:16px!important;
  background:#f3f6f9!important;
  border:1px solid #e3e8ee!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
body.public-ui-v5:not(.admin-body) .nav-links::-webkit-scrollbar{display:none!important;}
body.public-ui-v5:not(.admin-body) .nav-links a{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  border-radius:12px!important;
  color:#344054!important;
  background:transparent!important;
  border:0!important;
  font-size:.77rem!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body.public-ui-v5:not(.admin-body) .nav-links a::before{display:none!important;}
body.public-ui-v5:not(.admin-body) .nav-links a:hover{
  color:#101828!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(16,24,40,.07)!important;
}
body.public-ui-v5:not(.admin-body) .nav-links a.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--app-navy),var(--app-navy-2))!important;
  box-shadow:0 8px 18px rgba(11,53,84,.20)!important;
}
body.public-ui-v5:not(.admin-body) .nav-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  min-width:max-content!important;
}
body.public-ui-v5:not(.admin-body) .nav-cta .btn{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:13px!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  overflow:visible!important;
}
body.public-ui-v5:not(.admin-body) .nav-cta .btn-ghost{
  color:#344054!important;
  background:#fff!important;
  border:1px solid #d9e0e7!important;
}
body.public-ui-v5:not(.admin-body) .nav-cta .btn-primary{
  color:#fff!important;
  background:var(--app-navy)!important;
  border:1px solid var(--app-navy)!important;
  box-shadow:none!important;
}
body.public-ui-v5:not(.admin-body) .menu-toggle{
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  color:#fff!important;
  background:var(--app-navy)!important;
  border:1px solid var(--app-navy)!important;
  box-shadow:none!important;
}

/* Header is now in normal sticky flow; reduce old fixed-header compensation. */
body.public-ui-v5:not(.admin-body) .hero.hero-premium{padding-top:58px!important;}
body.public-ui-v5:not(.admin-body) .page-intro{padding-top:42px!important;}
body.public-ui-v5:not(.admin-body) .booking-choice-page{padding-top:30px!important;}
body.public-ui-v5:not(.admin-body) .customer-profile-section{scroll-margin-top:96px!important;}

/* ---------- Mobile app navigation ---------- */
@media(max-width:1120px){
  body.public-ui-v5:not(.admin-body){
    --public-nav-h:72px;
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  body.public-ui-v5:not(.admin-body) .navbar{height:72px!important;padding:7px 0!important;}
  body.public-ui-v5:not(.admin-body) .nav-inner{
    width:calc(100% - 16px)!important;
    height:58px!important;
    padding:0 8px 0 12px!important;
    border-radius:18px!important;
  }
  body.public-ui-v5:not(.admin-body) .brand{
    width:auto!important;
    max-width:min(62vw,190px)!important;
    justify-content:flex-start!important;
    margin:0!important;
  }
  body.public-ui-v5:not(.admin-body) .brand-logo{height:40px!important;max-width:min(56vw,154px)!important;}
  body.public-ui-v5:not(.admin-body) .nav-links{display:none!important;}
  body.public-ui-v5:not(.admin-body) .nav-cta{display:flex!important;margin-left:auto!important;}
  body.public-ui-v5:not(.admin-body) .nav-cta>a.btn{display:none!important;}
  body.public-ui-v5:not(.admin-body) .nav-cta .app-install-button{display:none!important;}
  body.public-ui-v5:not(.admin-body) .nav-cta .menu-toggle{display:grid!important;}

  body.public-ui-v5:not(.admin-body) .app-bottom-nav{
    left:50%!important;
    right:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:min(calc(100% - 20px),560px)!important;
    transform:translateX(-50%)!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:repeat(var(--app-nav-count,5),minmax(0,1fr))!important;
    gap:4px!important;
    padding:6px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.97)!important;
    border:1px solid rgba(16,24,40,.10)!important;
    box-shadow:0 18px 50px rgba(16,24,40,.19)!important;
    backdrop-filter:blur(20px) saturate(160%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(160%)!important;
    z-index:1450!important;
  }
  body.public-ui-v5:not(.admin-body) .app-nav-item{
    min-width:0!important;
    min-height:58px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:5px 3px!important;
    border:0!important;
    border-radius:16px!important;
    background:transparent!important;
    color:#667085!important;
    font-size:.64rem!important;
    font-weight:850!important;
    line-height:1!important;
    text-align:center!important;
    text-transform:none!important;
    letter-spacing:0!important;
    overflow:hidden!important;
  }
  body.public-ui-v5:not(.admin-body) .app-nav-item svg{width:21px!important;height:21px!important;}
  body.public-ui-v5:not(.admin-body) .app-nav-item span{
    width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.public-ui-v5:not(.admin-body) .app-nav-item.active,
  body.public-ui-v5:not(.admin-body).nav-menu-open .app-menu-toggle{
    color:#fff!important;
    background:linear-gradient(135deg,var(--app-navy),var(--app-navy-2))!important;
    box-shadow:0 9px 18px rgba(11,53,84,.20)!important;
  }
  body.public-ui-v5:not(.admin-body) .mobile-menu{
    display:block!important;
    position:fixed!important;
    top:auto!important;
    left:50%!important;
    right:auto!important;
    bottom:calc(91px + env(safe-area-inset-bottom))!important;
    width:min(calc(100% - 20px),560px)!important;
    max-height:min(66dvh,540px)!important;
    padding:12px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.99)!important;
    border:1px solid rgba(16,24,40,.10)!important;
    box-shadow:0 26px 70px rgba(16,24,40,.24)!important;
    overflow:auto!important;
    transform:translate(-50%,26px) scale(.98)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .24s ease,opacity .2s ease,visibility .2s ease!important;
    z-index:1440!important;
  }
  body.public-ui-v5:not(.admin-body) .mobile-menu.open{
    transform:translate(-50%,0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.public-ui-v5:not(.admin-body) .mobile-menu::before{
    content:""!important;
    display:block!important;
    width:44px!important;
    height:4px!important;
    margin:1px auto 11px!important;
    border-radius:999px!important;
    background:#cbd5df!important;
  }
  body.public-ui-v5:not(.admin-body) .mobile-menu ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  body.public-ui-v5:not(.admin-body) .mobile-menu li.divider{display:none!important;}
  body.public-ui-v5:not(.admin-body) .mobile-menu a{
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 13px!important;
    border-radius:15px!important;
    color:#263447!important;
    background:#f5f7fa!important;
    border:1px solid #e2e7ed!important;
    font-size:.82rem!important;
    font-weight:850!important;
    line-height:1.2!important;
  }
  body.public-ui-v5:not(.admin-body) .mobile-menu a.active,
  body.public-ui-v5:not(.admin-body) .mobile-menu a:hover{color:#fff!important;background:var(--app-navy)!important;border-color:var(--app-navy)!important;}
}

@media(max-width:520px){
  body.public-ui-v5:not(.admin-body) .mobile-menu ul{grid-template-columns:1fr!important;}
  body.public-ui-v5:not(.admin-body) .hero.hero-premium{padding-top:34px!important;}
}
@media(min-width:1121px){
  body.public-ui-v5:not(.admin-body) .app-bottom-nav{display:none!important;}
  body.public-ui-v5:not(.admin-body) .mobile-menu{display:none!important;}
  body.public-ui-v5:not(.admin-body) .menu-toggle{display:none!important;}
}

/* ---------- Package details: readable single-screen app layout ---------- */
body.public-ui-v5.package-screen-page{
  background:#f1f4f7!important;
  color:#101828!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-wrap{
  height:calc(100dvh - var(--public-nav-h,82px))!important;
  min-height:0!important;
  padding:14px 0 16px!important;
  background:linear-gradient(180deg,#f7f9fb 0%,#edf2f6 100%)!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-shell{
  width:100%!important;
  max-width:1380px!important;
  height:100%!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0 18px!important;
  display:grid!important;
  grid-template-rows:26px auto minmax(0,1fr)!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-topline{
  height:26px!important;
  margin:0 0 8px!important;
  padding:0 2px!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-breadcrumb,
body.public-ui-v5.package-screen-page .pkg-screen-status{color:#526174!important;font-size:.72rem!important;}
body.public-ui-v5.package-screen-page .pkg-screen-breadcrumb a{color:#0b4f78!important;}
body.public-ui-v5.package-screen-page .pkg-screen-breadcrumb strong{color:#101828!important;}

body.public-ui-v5.package-screen-page .pkg-screen-header{
  min-height:116px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(245px,auto) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:17px 18px!important;
  border-radius:22px!important;
  color:#101828!important;
  background:#fff!important;
  border:1px solid #dce3ea!important;
  box-shadow:0 13px 34px rgba(16,24,40,.075)!important;
}
body.public-ui-v5.package-screen-page .pkg-detail-kickers{gap:6px!important;margin:0 0 8px!important;}
body.public-ui-v5.package-screen-page .pkg-detail-kickers span{
  padding:5px 9px!important;
  border-radius:999px!important;
  color:#344054!important;
  background:#f2f5f8!important;
  border:1px solid #dce3ea!important;
  font-size:.59rem!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
}
body.public-ui-v5.package-screen-page .pkg-detail-kickers span:first-child{color:#75530f!important;background:#fff6df!important;border-color:#ecd9a9!important;}
body.public-ui-v5.package-screen-page .pkg-screen-title{min-width:0!important;}
body.public-ui-v5.package-screen-page .pkg-screen-title h1{
  margin:0!important;
  color:#000!important;
  font-family:var(--font-body)!important;
  font-size:clamp(1.28rem,1.9vw,1.92rem)!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  line-height:1.16!important;
  overflow-wrap:anywhere!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-title p{
  margin:7px 0 0!important;
  color:#000!important;
  font-size:.80rem!important;
  font-weight:750!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-price{
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:11px!important;
  align-items:center!important;
  padding:10px 14px!important;
  border:1px solid #dce3ea!important;
  border-radius:17px!important;
  background:#f6f8fa!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-price img{
  grid-row:1/4!important;
  width:48px!important;
  height:48px!important;
  border-radius:13px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:1px solid #e1e6eb!important;
  padding:5px!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-price span,
body.public-ui-v5.package-screen-page .pkg-screen-price small{color:#667085!important;font-size:.61rem!important;font-weight:800!important;line-height:1.1!important;}
body.public-ui-v5.package-screen-page .pkg-screen-price strong{color:#101828!important;font-size:1.18rem!important;font-weight:950!important;line-height:1.15!important;white-space:nowrap!important;}
body.public-ui-v5.package-screen-page .pkg-screen-book{
  min-height:50px!important;
  padding:0 18px!important;
  border-radius:15px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0b3554,#12547d)!important;
  border:1px solid #0b3554!important;
  box-shadow:0 12px 24px rgba(11,53,84,.17)!important;
  font-size:.70rem!important;
  font-weight:900!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
}

body.public-ui-v5.package-screen-page .pkg-screen-grid{
  height:auto!important;
  min-height:0!important;
  margin-top:11px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(315px,.78fr)!important;
  grid-template-rows:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:11px!important;
}
body.public-ui-v5.package-screen-page .pkg-screen-card{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:15px!important;
  border-radius:20px!important;
  color:#101828!important;
  background:#fff!important;
  border:1px solid #dce3ea!important;
  box-shadow:0 10px 28px rgba(16,24,40,.055)!important;
}
body.public-ui-v5.package-screen-page .pkg-card-heading{gap:9px!important;margin-bottom:11px!important;}
body.public-ui-v5.package-screen-page .pkg-card-heading>span{
  width:32px!important;height:32px!important;border-radius:10px!important;
  color:#0b4f78!important;background:#edf4f8!important;font-size:.65rem!important;
}
body.public-ui-v5.package-screen-page .pkg-card-heading h2{color:#101828!important;font-size:.96rem!important;line-height:1.15!important;}
body.public-ui-v5.package-screen-page .pkg-card-heading p{color:#667085!important;font-size:.66rem!important;line-height:1.3!important;}
body.public-ui-v5.package-screen-page .pkg-flight-compact{
  grid-template-columns:minmax(108px,.7fr) minmax(82px,.42fr) minmax(210px,1.3fr) minmax(118px,.68fr)!important;
  gap:9px!important;
  padding:10px!important;
  margin-bottom:7px!important;
  border-radius:14px!important;
  background:#f6f8fa!important;
  border:1px solid #e2e7ed!important;
}
body.public-ui-v5.package-screen-page .pkg-flight-compact small{color:#667085!important;font-size:.57rem!important;margin-bottom:3px!important;}
body.public-ui-v5.package-screen-page .pkg-flight-compact strong{color:#101828!important;font-size:.70rem!important;line-height:1.3!important;white-space:normal!important;}
body.public-ui-v5.package-screen-page .pkg-flight-direction b{width:38px!important;height:29px!important;border-radius:9px!important;background:#0f5b86!important;font-size:.58rem!important;}
body.public-ui-v5.package-screen-page .pkg-flight-direction.return b{background:#23704e!important;}
body.public-ui-v5.package-screen-page .pkg-flight-direction span{color:#0b4f78!important;font-size:.67rem!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important;}
body.public-ui-v5.package-screen-page .pkg-trip-facts{gap:7px!important;margin-top:8px!important;}
body.public-ui-v5.package-screen-page .pkg-trip-facts>span{padding:8px 10px!important;border-radius:12px!important;background:#eef3f7!important;border:1px solid #dce5ec!important;}
body.public-ui-v5.package-screen-page .pkg-trip-facts small{color:#667085!important;font-size:.54rem!important;}
body.public-ui-v5.package-screen-page .pkg-trip-facts strong{color:#101828!important;font-size:.72rem!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important;}
body.public-ui-v5.package-screen-page .pkg-stay-list{gap:8px!important;}
body.public-ui-v5.package-screen-page .pkg-stay-item{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important;padding:9px!important;border-radius:15px!important;background:#f7f9fb!important;}
body.public-ui-v5.package-screen-page .pkg-stay-thumb{height:68px!important;border-radius:12px!important;}
body.public-ui-v5.package-screen-page .pkg-stay-item small{color:#8a6417!important;font-size:.56rem!important;}
body.public-ui-v5.package-screen-page .pkg-stay-item h3{color:#101828!important;font-size:.75rem!important;line-height:1.25!important;margin:3px 0!important;}
body.public-ui-v5.package-screen-page .pkg-stay-item p{color:#667085!important;font-size:.63rem!important;}
body.public-ui-v5.package-screen-page .pkg-service-compact{gap:7px!important;}
body.public-ui-v5.package-screen-page .pkg-service-compact>span{padding:8px 9px!important;border-radius:12px!important;color:#263447!important;background:#f5f7f9!important;font-size:.64rem!important;white-space:normal!important;line-height:1.2!important;}
body.public-ui-v5.package-screen-page .pkg-confirm-note{margin-top:8px!important;padding:7px 9px!important;color:#684e16!important;font-size:.61rem!important;line-height:1.35!important;}
body.public-ui-v5.package-screen-page .pkg-room-compact{gap:7px!important;margin-bottom:9px!important;}
body.public-ui-v5.package-screen-page .pkg-room-compact>div{min-height:48px!important;padding:8px 9px!important;border-radius:12px!important;}
body.public-ui-v5.package-screen-page .pkg-room-compact span{color:#667085!important;font-size:.55rem!important;}
body.public-ui-v5.package-screen-page .pkg-room-compact strong{color:#101828!important;font-size:.75rem!important;}
body.public-ui-v5.package-screen-page .pkg-room-card .btn{min-height:38px!important;border-radius:12px!important;font-size:.64rem!important;text-transform:none!important;letter-spacing:.02em!important;}
body.public-ui-v5.package-screen-page .pkg-room-card .btn-primary{background:#0b3554!important;color:#fff!important;border-color:#0b3554!important;}
body.public-ui-v5.package-screen-page .pkg-room-card .btn-ghost{background:#fff!important;color:#0b4f78!important;border-color:#cfd8e1!important;}
body.public-ui-v5.package-screen-page .footer,
body.public-ui-v5.package-screen-page .site-footer,
body.public-ui-v5.package-screen-page .wa-fab{display:none!important;}

@media(min-width:981px){
  body.public-ui-v5.package-screen-page{overflow:hidden!important;padding-bottom:0!important;}
  body.public-ui-v5.package-screen-page .app-bottom-nav,
  body.public-ui-v5.package-screen-page .pkg-mobile-sticky-book{display:none!important;}
}
@media(max-width:1180px) and (min-width:981px){
  body.public-ui-v5.package-screen-page .pkg-screen-header{grid-template-columns:minmax(0,1fr) minmax(230px,auto)!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-book{grid-column:2!important;width:100%!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-price{grid-row:1!important;grid-column:2!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-grid{grid-template-columns:minmax(0,1.4fr) minmax(290px,.8fr)!important;}
  body.public-ui-v5.package-screen-page .pkg-service-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  body.public-ui-v5.package-screen-page{
    overflow:auto!important;
    padding-bottom:calc(170px + env(safe-area-inset-bottom))!important;
  }
  body.public-ui-v5.package-screen-page .pkg-screen-wrap{height:auto!important;min-height:calc(100dvh - var(--public-nav-h,72px))!important;padding:12px 0 20px!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-shell{height:auto!important;display:block!important;padding:0 12px!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-header{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-book{grid-column:1/3!important;width:100%!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-grid{height:auto!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:10px!important;}
  body.public-ui-v5.package-screen-page .pkg-flight-card,
  body.public-ui-v5.package-screen-page .pkg-stay-card,
  body.public-ui-v5.package-screen-page .pkg-inclusion-card,
  body.public-ui-v5.package-screen-page .pkg-room-card{grid-column:auto!important;grid-row:auto!important;}
  body.public-ui-v5.package-screen-page .app-bottom-nav{display:grid!important;}
  body.public-ui-v5.package-screen-page .pkg-mobile-sticky-book{
    display:block!important;
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:calc(91px + env(safe-area-inset-bottom))!important;
    width:min(calc(100% - 20px),560px)!important;
    transform:translateX(-50%)!important;
    z-index:1430!important;
  }
  body.public-ui-v5.package-screen-page .pkg-mobile-sticky-book .btn{
    width:100%!important;
    min-height:48px!important;
    padding:0 14px!important;
    border-radius:16px!important;
    color:#fff!important;
    background:#0b3554!important;
    border:1px solid #0b3554!important;
    box-shadow:0 13px 32px rgba(11,53,84,.24)!important;
    font-size:.70rem!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
}
@media(max-width:680px){
  body.public-ui-v5.package-screen-page .pkg-screen-topline{display:none!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-header{grid-template-columns:1fr!important;padding:15px!important;border-radius:19px!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-price{grid-template-columns:auto minmax(0,1fr)!important;width:100%!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-book{grid-column:auto!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-title h1{font-size:1.22rem!important;}
  body.public-ui-v5.package-screen-page .pkg-screen-title p{font-size:.76rem!important;}
  body.public-ui-v5.package-screen-page .pkg-flight-compact{grid-template-columns:1fr 1fr!important;}
  body.public-ui-v5.package-screen-page .pkg-flight-direction{grid-column:1/3!important;}
  body.public-ui-v5.package-screen-page .pkg-trip-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.public-ui-v5.package-screen-page .pkg-service-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:430px){
  body.public-ui-v5.package-screen-page .pkg-trip-facts{grid-template-columns:1fr!important;}
  body.public-ui-v5.package-screen-page .pkg-stay-item{grid-template-columns:68px minmax(0,1fr)!important;}
}

/* ---------- Admin app spacing and contrast refinement ---------- */
body.admin-body.admin-ui-v4 .admin-top{
  position:sticky!important;
  top:0!important;
  z-index:45!important;
  min-height:74px!important;
  height:74px!important;
  padding:0 22px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #dce3ea!important;
  box-shadow:0 8px 24px rgba(16,24,40,.07)!important;
  backdrop-filter:blur(16px)!important;
}
body.admin-body.admin-ui-v4 .admin-main{padding:24px clamp(14px,2.4vw,30px) 44px!important;}
body.admin-body.admin-ui-v4 .admin-page-hero{
  border-radius:22px!important;
  padding:24px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f5f8fb 100%)!important;
  border:1px solid #dce3ea!important;
  box-shadow:0 12px 32px rgba(16,24,40,.06)!important;
}
body.admin-body.admin-ui-v4 .admin-page-hero h1,
body.admin-body.admin-ui-v4 .admin-page-hero h2,
body.admin-body.admin-ui-v4 .admin-page-hero h3{color:#101828!important;}
body.admin-body.admin-ui-v4 .admin-page-hero p{color:#5f6c7b!important;}
body.admin-body.admin-ui-v4 .admin-panel,
body.admin-body.admin-ui-v4 .panel,
body.admin-body.admin-ui-v4 .table-card{
  border-radius:20px!important;
  border-color:#dce3ea!important;
  box-shadow:0 10px 28px rgba(16,24,40,.05)!important;
}
body.admin-body.admin-ui-v4 .admin-side{z-index:70!important;}
@media(max-width:880px){
  body.admin-body.admin-ui-v4 .admin-top{height:68px!important;min-height:68px!important;padding:0 12px!important;}
  body.admin-body.admin-ui-v4 .admin-main{padding:16px 11px 36px!important;}
  body.admin-body.admin-ui-v4 .admin-page-hero{padding:18px!important;border-radius:18px!important;}
}

/* ==========================================================
   ADMIN-CONTROLLED WEBSITE IMAGES
   ========================================================== */
body.public-ui-v5:not(.admin-body) .hero-visual.hero-visual-uploaded{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  max-width:560px!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:38px!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.public-ui-v5:not(.admin-body) .hero-visual.hero-visual-uploaded::after{display:none!important;content:none!important;}
body.public-ui-v5:not(.admin-body) .hero-managed-picture{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/5!important;
  overflow:hidden!important;
  border-radius:38px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:#07182f!important;
  box-shadow:0 34px 90px rgba(0,0,0,.34)!important;
}
body.public-ui-v5:not(.admin-body) .hero-managed-picture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.public-ui-v5:not(.admin-body) .hero-edit-shortcut{
  position:absolute!important;
  right:16px!important;
  bottom:16px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  font-size:.78rem!important;
  font-weight:900!important;
}
body.public-ui-v5:not(.admin-body) .page-intro{
  background-color:#07182f!important;
  background-image:linear-gradient(105deg,rgba(7,17,31,.96),rgba(7,17,31,.76) 55%,rgba(7,17,31,.82)),var(--page-cover-image,none)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
body.public-ui-v5:not(.admin-body) .booking-choice-page{
  background-color:#07182f!important;
  background-image:linear-gradient(120deg,rgba(7,17,31,.96),rgba(7,17,31,.84)),var(--page-cover-image,none)!important;
  background-size:cover!important;
  background-position:center!important;
  background-attachment:fixed!important;
}
body.public-ui-v5:not(.admin-body) .auth-wrap{
  background-color:#07182f!important;
  background-image:linear-gradient(120deg,rgba(7,17,31,.96),rgba(7,17,31,.78)),var(--page-cover-image,none)!important;
  background-size:cover!important;
  background-position:center!important;
}
@media(max-width:720px){
  body.public-ui-v5:not(.admin-body) .hero-visual.hero-visual-uploaded{max-width:520px!important;border-radius:26px!important;}
  body.public-ui-v5:not(.admin-body) .hero-managed-picture{border-radius:26px!important;}
  body.public-ui-v5:not(.admin-body) .hero-edit-shortcut{right:10px!important;bottom:10px!important;}
  body.public-ui-v5:not(.admin-body) .booking-choice-page{background-attachment:scroll!important;}
}

/* Website Images admin page */
body.admin-body .media-admin-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  margin-bottom:18px;
  border:1px solid #dce3ea;
  border-radius:24px;
  background:linear-gradient(135deg,#07182f 0%,#0d3653 62%,#164b36 100%);
  color:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.13);
}
body.admin-body .media-admin-kicker{
  display:block;
  margin-bottom:7px;
  color:#f0c766;
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.admin-body .media-admin-hero h1{margin:0;color:#fff!important;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;}
body.admin-body .media-admin-hero p{max-width:690px;margin:9px 0 0;color:rgba(255,255,255,.76)!important;line-height:1.55;}
body.admin-body .media-admin-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
body.admin-body .media-admin-hero .btn-outline{border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.09)!important;color:#fff!important;}
body.admin-body .media-admin-guide{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:22px;
}
body.admin-body .media-admin-guide>div{
  display:grid;
  gap:4px;
  padding:16px 18px;
  border:1px solid #dce3ea;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
body.admin-body .media-admin-guide strong{color:#0f172a;font-size:.92rem;}
body.admin-body .media-admin-guide span{color:#64748b;font-size:.78rem;line-height:1.4;}
body.admin-body .media-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}
body.admin-body .media-slot-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce3ea;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.06);
}
body.admin-body .media-slot-preview{
  position:relative;
  height:240px;
  overflow:hidden;
  background:linear-gradient(135deg,#e8eef5,#f8fafc);
  border-bottom:1px solid #e2e8f0;
}
body.admin-body .media-slot-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
body.admin-body .media-slot-preview.is-empty{display:grid;place-items:center;}
body.admin-body .media-slot-empty{display:grid;justify-items:center;gap:7px;text-align:center;color:#64748b;padding:24px;}
body.admin-body .media-slot-empty svg{color:#0f4c81;}
body.admin-body .media-slot-empty strong{color:#0f172a;}
body.admin-body .media-slot-empty span{font-size:.8rem;}
body.admin-body .media-slot-page,
body.admin-body .media-slot-default{
  position:absolute;
  top:14px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
body.admin-body .media-slot-page{left:14px;background:rgba(7,24,47,.84);color:#fff;}
body.admin-body .media-slot-default{right:14px;background:rgba(255,255,255,.9);color:#0f172a;border:1px solid rgba(15,23,42,.1);}
body.admin-body .media-slot-content{padding:19px;}
body.admin-body .media-slot-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin-bottom:16px;}
body.admin-body .media-slot-heading h2{margin:0;color:#0f172a!important;font-size:1.08rem;letter-spacing:-.02em;}
body.admin-body .media-slot-heading p{margin:6px 0 0;color:#64748b!important;font-size:.8rem;line-height:1.5;}
body.admin-body .media-slot-heading>span{display:inline-flex;align-items:center;max-width:185px;padding:7px 10px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:.68rem;font-weight:800;line-height:1.35;text-align:right;}
body.admin-body .media-slot-form{display:grid;gap:13px;}
body.admin-body .media-upload-drop{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px dashed #94a3b8;
  border-radius:15px;
  background:#f8fafc;
  color:#334155;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
}
body.admin-body .media-upload-drop input{min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:.76rem!important;}
body.admin-body .media-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
body.admin-body .media-fields-row label{display:grid;gap:6px;min-width:0;}
body.admin-body .media-fields-row label>span{color:#475569;font-size:.72rem;font-weight:900;}
body.admin-body .media-slot-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px;}
body.admin-body .media-slot-footer small{min-width:0;color:#64748b;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.admin-body .media-slot-footer>div{display:flex;gap:8px;flex:0 0 auto;}
body.admin-body .media-remove-button{color:#991b1b!important;border-color:#fecaca!important;background:#fff7f7!important;}
body.admin-body .media-content-links{margin-top:24px;padding:24px;border:1px solid #dce3ea;border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.06);}
body.admin-body .media-content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:17px;}
body.admin-body .media-content-head h2{margin:0;color:#0f172a!important;}
body.admin-body .media-content-head p{max-width:560px;margin:0;color:#64748b!important;line-height:1.5;}
body.admin-body .media-content-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body.admin-body .media-content-link-grid>a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:16px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc;color:#0f172a;transition:.16s ease;}
body.admin-body .media-content-link-grid>a:hover{transform:translateY(-2px);border-color:#94a3b8;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.08);}
body.admin-body .media-content-link-grid>a>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#07182f;color:#f0c766;}
body.admin-body .media-content-link-grid strong{display:block;color:#0f172a;font-size:.9rem;}
body.admin-body .media-content-link-grid small{display:block;margin-top:4px;color:#64748b;line-height:1.35;}
body.admin-body .media-content-link-grid b{grid-column:2;color:#0f4c81;font-size:.76rem;}
@media(max-width:1100px){
  body.admin-body .media-admin-grid{grid-template-columns:1fr;}
  body.admin-body .media-content-link-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  body.admin-body .media-admin-hero{display:grid;padding:20px;border-radius:20px;}
  body.admin-body .media-admin-actions{justify-content:flex-start;}
  body.admin-body .media-admin-guide{grid-template-columns:1fr;}
  body.admin-body .media-slot-preview{height:210px;}
  body.admin-body .media-slot-heading{grid-template-columns:1fr;}
  body.admin-body .media-slot-heading>span{max-width:none;text-align:left;}
  body.admin-body .media-fields-row{grid-template-columns:1fr;}
  body.admin-body .media-slot-footer{display:grid;}
  body.admin-body .media-slot-footer>div{justify-content:flex-start;}
  body.admin-body .media-content-head{display:grid;}
}


/* Speed v7: no render-blocking external font dependency. */
:root{
  --font-display:Georgia,'Times New Roman',serif;
  --font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
img{height:auto}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@supports(content-visibility:auto){
 body:not(.admin-body) main>section:not(:first-child),
 body:not(.admin-body) .footer{content-visibility:auto;contain-intrinsic-size:1px 700px}
}
