/* ================================================================
   UAD CONSULTANT CHAT - MODULAR STYLES
   Brand-aligned: teal #0099B5 primary, WA green only for WhatsApp
   ================================================================ */

/* Design Tokens */
:root {
    --chat-primary:      #0099B5;
    --chat-primary-dark: #007A8C;
    --chat-primary-glow: rgba(0, 153, 181, 0.40);
    --chat-bg:           #FFFFFF;
    --chat-text:         #1A2C3E;
    --chat-text-muted:   #64748B;
    --chat-border:       #E2E8F0;
    --chat-shadow:       0 10px 40px rgba(0,0,0,0.12);
    --chat-radius:       20px;
    --chat-float-size:   64px;
    --chat-transition:   0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ── Toggle Button ─────────────────────────────────────────────── */
.uad-consultant__toggle {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: var(--chat-float-size);
    height: var(--chat-float-size);
    border-radius: 50%;
    background: linear-gradient(135deg, #0099B5, #00B4D8);
    border: none;
    box-shadow: 0 6px 28px var(--chat-primary-glow);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    z-index: 10001;
    transition: transform var(--chat-transition), box-shadow var(--chat-transition);
}

.uad-consultant__toggle:hover {
    transform: scale(1.08);
    box-shadow: 0 8px 36px rgba(0, 153, 181, 0.55);
}

.uad-consultant__toggle:active { transform: scale(0.95); }

/* Icon swapping */
.uad-consultant__toggle .icon-chat  { display: block; }
.uad-consultant__toggle .icon-close { display: none;  }
.uad-consultant.is-open .uad-consultant__toggle .icon-chat  { display: none;  }
.uad-consultant.is-open .uad-consultant__toggle .icon-close { display: block; }

/* Notification Badge */
.uad-consultant__toggle-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 22px;
    height: 22px;
    background: #EF4444;
    color: white;
    font-size: 11px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: chat-badge-pulse 2s ease-in-out infinite;
}

.uad-consultant.is-open .uad-consultant__toggle-badge { display: none; }

@keyframes chat-badge-pulse {
    0%, 100% { transform: scale(1);    }
    50%       { transform: scale(1.15); }
}

/* ── Chat Window ───────────────────────────────────────────────── */
.uad-consultant__window {
    position: fixed;
    bottom: 110px;
    right: 24px;
    width: 380px;
    max-width: calc(100vw - 48px);
    height: 580px;
    max-height: calc(100vh - 160px);
    background: var(--chat-bg);
    border-radius: var(--chat-radius);
    box-shadow: var(--chat-shadow), 0 0 0 1px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 10002;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.95);
    transition: opacity 0.4s ease,
                transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
                visibility 0.4s;
}

.uad-consultant.is-open .uad-consultant__window {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* ── Header ────────────────────────────────────────────────────── */
.uad-consultant__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: linear-gradient(135deg, var(--chat-primary-dark), var(--chat-primary));
    color: white;
    flex-shrink: 0;
}

.uad-consultant__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    border: 3px solid rgba(255,255,255,0.3);
}

.uad-consultant__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.uad-consultant__avatar-emoji { font-size: 28px; }

.uad-consultant__header-info {
    flex: 1;
    min-width: 0;
}

.uad-consultant__name {
    display: block;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 2px;
}

.uad-consultant__status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    opacity: 0.95;
}

.uad-consultant__status-dot {
    width: 10px;
    height: 10px;
    background: #FCD34D;
    border-radius: 50%;
    animation: chat-live-pulse 1.5s ease-in-out infinite;
}

@keyframes chat-live-pulse {
    0%, 100% { transform: scale(1);    }
    50%       { transform: scale(1.15); }
}

.uad-consultant__close {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(255,255,255,0.18);
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.uad-consultant__close:hover { background: rgba(255,255,255,0.30); }

/* ── Messages Container ────────────────────────────────────────── */
.uad-consultant__messages {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: linear-gradient(180deg, #F4F9FB 0%, #EDF4F8 100%);
    scroll-behavior: smooth;
}

.uad-consultant__messages::-webkit-scrollbar { width: 5px; }
.uad-consultant__messages::-webkit-scrollbar-track { background: transparent; }
.uad-consultant__messages::-webkit-scrollbar-thumb {
    background: #B0CBD5;
    border-radius: 3px;
}

/* ── Message Bubbles ───────────────────────────────────────────── */
.uad-consultant__message {
    max-width: 85%;
    padding: 12px 16px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.55;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    /* Ensure text is visible — never transparent */
    min-height: 20px;
    animation: chat-msg-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes chat-msg-in {
    from { opacity: 0; transform: translateY(8px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

/* Bot — left aligned */
.uad-consultant__message--bot {
    align-self: flex-start;
    background: var(--chat-bg);
    color: var(--chat-text);
    border-bottom-left-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    /* Force text visible on all backgrounds */
    -webkit-text-fill-color: var(--chat-text);
}

/* User — right aligned, brand teal */
.uad-consultant__message--user {
    align-self: flex-end;
    background: linear-gradient(135deg, var(--chat-primary), var(--chat-primary-dark));
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
    border-bottom-right-radius: 4px;
}

/* Timestamp */
.uad-consultant__time {
    display: block;
    font-size: 10px;
    opacity: 0.55;
    margin-top: 4px;
    text-align: right;
}

/* ── Typing Indicator ──────────────────────────────────────────── */
.uad-consultant__typing {
    display: none;
    align-items: center;
    gap: 4px;
    padding: 14px 18px;
    background: var(--chat-bg);
    border-radius: 16px;
    border-bottom-left-radius: 4px;
    align-self: flex-start;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.uad-consultant__typing.is-visible { display: flex; }

.uad-consultant__typing span {
    width: 8px;
    height: 8px;
    background: var(--chat-primary);
    opacity: 0.45;
    border-radius: 50%;
    animation: chat-typing-bounce 1.4s ease-in-out infinite;
}

.uad-consultant__typing span:nth-child(1) { animation-delay:   0ms; }
.uad-consultant__typing span:nth-child(2) { animation-delay: 200ms; }
.uad-consultant__typing span:nth-child(3) { animation-delay: 400ms; }

@keyframes chat-typing-bounce {
    0%, 60%, 100% { transform: translateY(0);   opacity: 0.45; }
    30%            { transform: translateY(-6px); opacity: 1;    }
}

/* ── Support / Connect Box ─────────────────────────────────────── */
.uad-consultant__support-box {
    background: linear-gradient(135deg,
        rgba(0, 153, 181, 0.08),
        rgba(0, 153, 181, 0.04));
    border: 1px solid rgba(0, 153, 181, 0.20);
    border-radius: 14px;
    padding: 14px;
    margin-top: 8px;
}

.uad-consultant__support-box p {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--chat-primary);
}

.uad-consultant__connect-btns { display: flex; gap: 8px; }

.uad-consultant__connect-btn {
    flex: 1;
    padding: 10px 12px;
    border-radius: 10px;
    border: none;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s ease;
    text-decoration: none;
}

/* WhatsApp — keep WA brand green */
.uad-consultant__connect-btn--wa            { background: #25D366; color: white; }
.uad-consultant__connect-btn--wa:hover      { background: #1EBD5B; transform: translateY(-1px); }

/* Phone — brand teal */
.uad-consultant__connect-btn--phone         { background: var(--chat-primary); color: white; }
.uad-consultant__connect-btn--phone:hover   { background: var(--chat-primary-dark); transform: translateY(-1px); }

/* ── Quick Action Buttons ──────────────────────────────────────── */
.uad-consultant__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 16px;
    border-top: 1px solid var(--chat-border);
    background: white;
    flex-shrink: 0;
}

.uad-consultant__action-btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1.5px solid var(--chat-border);
    background: white;
    font-size: 13px;
    font-weight: 600;
    color: var(--chat-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: inherit;
}

.uad-consultant__action-btn:hover {
    border-color: var(--chat-primary);
    color: var(--chat-primary);
    background: rgba(0, 153, 181, 0.05);
}

.uad-consultant__action-btn:active { transform: scale(0.97); }
.uad-consultant__action-btn .icon  { font-size: 16px; }

/* ── Input Area ────────────────────────────────────────────────── */
.uad-consultant__input-wrap {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    padding: 12px 16px;
    border-top: 1px solid var(--chat-border);
    background: white;
    flex-shrink: 0;
}

.uad-consultant__input {
    flex: 1;
    min-height: 44px;
    max-height: 100px;
    padding: 10px 14px;
    border: 1.5px solid var(--chat-border);
    border-radius: 14px;
    font-size: 14px;
    font-family: inherit;
    line-height: 1.4;
    resize: none;
    outline: none;
    transition: border-color 0.2s;
}

.uad-consultant__input:focus { border-color: var(--chat-primary); }

.uad-consultant__send {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--chat-primary), var(--chat-primary-dark));
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.uad-consultant__send:hover   { transform: scale(1.05); box-shadow: 0 4px 14px var(--chat-primary-glow); }
.uad-consultant__send:active  { transform: scale(0.95); }
.uad-consultant__send:disabled{ opacity: 0.5; cursor: not-allowed; }

/* ── Status Bar ────────────────────────────────────────────────── */
.uad-consultant__status-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(0,0,0,0.03);
    font-size: 11px;
    color: var(--chat-text-muted);
    border-top: 1px solid var(--chat-border);
}

.uad-consultant__status-bar.is-connecting { color: #F59E0B; }
.uad-consultant__status-bar.is-connected  { color: var(--chat-primary); }
.uad-consultant__status-bar.is-error      { color: #EF4444; }

.uad-consultant__status-bar .spinner {
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: chat-spin 0.8s linear infinite;
}

@keyframes chat-spin { to { transform: rotate(360deg); } }

/* ── Quick-pick Pill Buttons (flow steps) ──────────────────────── */
.uad-pick-row {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 4px 0 6px;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    animation: chat-msg-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.uad-pick-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 16px;
    border-radius: 12px;
    border: 1.5px solid var(--chat-primary);
    background: white;
    color: var(--chat-primary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    white-space: normal;
    word-break: break-word;
    transition: all 0.2s ease;
    font-family: inherit;
}

.uad-pick-btn:hover {
    background: var(--chat-primary);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--chat-primary-glow);
}

.uad-pick-btn:active { transform: scale(0.95); }

/* ── Flow Completion Summary Card ──────────────────────────────── */
.uad-flow-complete .uad-flow-info {
    font-size: 13px;
    line-height: 1.7;
    color: var(--chat-text);
    background: rgba(0, 153, 181, 0.06);
    border-radius: 10px;
    padding: 10px 13px;
    margin-bottom: 12px;
    font-family: inherit;
    border-left: 3px solid var(--chat-primary);
}

/* ── Mobile Responsive ─────────────────────────────────────────── */
@media (max-width: 480px) {
    .uad-consultant__toggle {
        bottom: max(16px, env(safe-area-inset-bottom));
        right: 16px;
        width: 58px;
        height: 58px;
    }

    /* Full-screen chat on mobile */
    .uad-consultant__window {
        position: fixed;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        z-index: 10002;
    }

    .uad-consultant.is-open .uad-consultant__window {
        transform: translateY(0) scale(1);
    }

    .uad-consultant__header { padding: 12px 16px; }

    /* CRITICAL: message area — ensure text always visible */
    .uad-consultant__messages {
        padding: 12px 14px;
        gap: 10px;
        overscroll-behavior: contain;
        /* Extra bottom padding so last message clears the action bar */
        padding-bottom: 16px;
    }

    .uad-consultant__message {
        max-width: 85% !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        padding: 10px 14px !important;
    }

    /* Force text color on mobile (override any inherited conflicts) */
    .uad-consultant__message--bot {
        color: #1A2C3E !important;
        -webkit-text-fill-color: #1A2C3E !important;
        background: #f0f9ff !important;
    }

    .uad-consultant__message--user {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    /* Dark mode on mobile */
    @media (prefers-color-scheme: dark) {
        .uad-consultant__message--bot {
            color: #F1F5F9 !important;
            -webkit-text-fill-color: #F1F5F9 !important;
            background: #2D4A6E !important;
        }
    }

    /* Pick buttons */
    .uad-pick-btn {
        padding: 12px 16px;
        font-size: 14px;
        min-height: 44px;
        width: 100%;
        border-radius: 12px;
    }

    /* Prevent iOS auto-zoom on input focus */
    .uad-consultant__input {
        font-size: 16px !important;
        min-height: 48px;
    }

    /* Input area above iOS home indicator */
    .uad-consultant__input-wrap {
        padding: 10px 12px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
    }

    /* Action buttons: 2 per row */
    .uad-consultant__actions {
        padding: 10px 12px;
        gap: 6px;
    }

    .uad-consultant__action-btn {
        flex: 1 1 calc(50% - 3px);
        min-height: 42px;
        font-size: 12px;
        padding: 8px 8px;
        gap: 4px;
    }

    .uad-consultant__action-btn .icon { font-size: 15px; }

    /* Connect buttons: stack vertically */
    .uad-consultant__connect-btns { flex-direction: column; gap: 8px; }
    .uad-consultant__connect-btn  { min-height: 48px; font-size: 15px; padding: 12px; }
}

/* Medium mobile (480-600px) */
@media (min-width: 481px) and (max-width: 600px) {
    .uad-consultant__window {
        right: 8px;
        left: 8px;
        width: auto;
        bottom: 90px;
        max-height: calc(100dvh - 110px);
        border-radius: 20px;
    }
    .uad-consultant__input { font-size: 16px !important; }
}

/* ── WhatsApp Escape Hint ─────────────────────────────────────── */
.uad-wa-escape-row {
    text-align: center;
    margin: 4px 0 8px;
    opacity: 0.85;
    animation: fadeInUp 0.3s ease;
}

.uad-wa-escape-link {
    display: inline-block;
    font-size: 12.5px;
    color: #25D366;
    text-decoration: none;
    padding: 4px 12px;
    border: 1px solid rgba(37, 211, 102, 0.35);
    border-radius: 20px;
    background: rgba(37, 211, 102, 0.07);
    transition: background 0.2s, border-color 0.2s;
}

.uad-wa-escape-link:hover,
.uad-wa-escape-link:active {
    background: rgba(37, 211, 102, 0.18);
    border-color: rgba(37, 211, 102, 0.6);
    text-decoration: none;
}

/* ── Dark Mode ─────────────────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
    .uad-consultant__messages {
        background: linear-gradient(180deg, #0F172A 0%, #1A2942 100%);
    }

    /* Bot: distinctly lighter than the container so text is visible */
    .uad-consultant__message--bot {
        background: #2D4A6E;
        color: #F1F5F9 !important;
        -webkit-text-fill-color: #F1F5F9 !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.35);
    }

    /* User: keep teal gradient, ensure white text */
    .uad-consultant__message--user {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    .uad-consultant__support-box {
        background: rgba(0,153,181,0.12);
        border-color: rgba(0,153,181,0.30);
    }
}

/* CHAT MESSAGE — EMERGENCY FIX 2026-05-15 */
.uad-consultant__message {
    display: block !important;
    width: fit-content !important;
    max-width: 85% !important;
    min-width: auto !important;
    height: auto !important;
    min-height: auto !important;
    padding: 12px 16px !important;
    margin: 8px 0 !important;
    border-radius: 18px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    overflow: visible !important;
    position: relative !important;
    clear: both !important;
    box-sizing: border-box !important;
}

.uad-consultant__message--bot {
    float: left !important;
    background: #f0f9ff !important;
    color: #1a1a1a !important;
    border-bottom-left-radius: 4px !important;
    -webkit-text-fill-color: #1a1a1a !important;
}

.uad-consultant__message--user {
    float: right !important;
    background: #0d9488 !important;
    color: #ffffff !important;
    border-bottom-right-radius: 4px !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* MESSAGE CONTAINER — allow full scroll */
.uad-consultant__messages {
    display: block !important;
    width: 100% !important;
    height: calc(100% - 130px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 16px !important;
    padding-bottom: 160px !important;
    box-sizing: border-box !important;
}

/* HIDE action buttons during conversation */
.uad-consultant__actions.is-hidden {
    display: none !important;
}

/* ── Contact Bottom Bar ─────────────────────────────────────── */
.uad-contact-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: #ffffff;
    padding: 10px 12px;
    padding-bottom: max(10px, env(safe-area-inset-bottom));
    box-shadow: 0 -2px 12px rgba(0,0,0,0.10);
    z-index: 9999;
    gap: 8px;
}

.uad-contact-bar__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1;
    padding: 10px 10px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    line-height: 1;
    white-space: nowrap;
    transition: opacity 0.15s;
}

.uad-contact-bar__btn:active { opacity: 0.8; }

.uad-contact-bar__btn--wa   { background: #25d366; color: #ffffff; }
.uad-contact-bar__btn--tg   { background: #0088cc; color: #ffffff; }
.uad-contact-bar__btn--chat { background: #0d9488; color: #ffffff; }

.uad-contact-bar__btn img,
.uad-contact-bar__btn svg  { flex-shrink: 0; }

/* Chat toggle hidden — Chat is now in the contact bar */
.uad-consultant__toggle { display: none !important; }

/* ── Inline date picker ─────────────────────────────────────── */
.uad-date-pick-row {
    clear: both;
    padding: 4px 0 8px;
}

.uad-date-pick-input {
    display: block;
    padding: 11px 16px;
    border: 2px solid #0099B5;
    border-radius: 12px;
    font-size: 15px;
    color: #1A2C3E;
    background: #f0f9ff;
    cursor: pointer;
    width: auto;
    min-width: 180px;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
}

.uad-date-pick-input:focus {
    outline: none;
    border-color: #007A8C;
    box-shadow: 0 0 0 3px rgba(0,153,181,0.18);
}

/* Body padding so content clears the bar */
body { padding-bottom: 72px; }

/* ── Inline text capture (deterministic flow) ─────────────── */
.uad-text-capture-row {
    clear: both;
    display: flex;
    gap: 8px;
    padding: 4px 0 8px;
    align-items: center;
}

.uad-text-capture-input {
    flex: 1;
    padding: 11px 14px;
    border: 2px solid #0099B5;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    color: #1A2C3E;
    background: #f0f9ff;
    min-width: 0;
}

.uad-text-capture-input:focus {
    outline: none;
    border-color: #007A8C;
    box-shadow: 0 0 0 3px rgba(0,153,181,0.18);
}

.uad-text-capture-send {
    padding: 11px 18px;
    background: #0099B5;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
    transition: background 0.18s;
}

.uad-text-capture-send:hover { background: #007A8C; }
.uad-text-capture-send:active { transform: scale(0.96); }

/* ── Always-visible WA inline button ─────────────────────── */
.uad-wa-inline-row {
    clear: both;
    text-align: center;
    margin: 2px 0 6px;
}

/* ── Airline logo picker inside chat ─────────────────────── */
.uad-airline-pick-wrap {
    clear: both;
    padding: 4px 0 8px;
    width: 100%;
}

.uad-airline-search {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 12px;
    border: 2px solid #0099B5;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    color: #1A2C3E;
    background: #f0f9ff;
    margin-bottom: 8px;
}

.uad-airline-search:focus {
    outline: none;
    border-color: #007A8C;
    box-shadow: 0 0 0 3px rgba(0,153,181,0.15);
}

.uad-airline-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    max-height: 200px;
    overflow-y: auto;
    padding-right: 2px;
}

.uad-airline-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 7px 4px 5px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    min-width: 0;
}

.uad-airline-btn:hover {
    border-color: #0099B5;
    background: #f0f9ff;
}

.uad-airline-btn:active { transform: scale(0.93); }

.uad-airline-btn img {
    width: 40px;
    height: 28px;
    object-fit: contain;
    display: block;
}

.uad-airline-code {
    font-size: 10px;
    font-weight: 700;
    color: #475569;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
