body { font-feature-settings: "cv02", "cv03", "cv04"; }
        .text-gradient {
            background: linear-gradient(90deg, #0B5ED7 0%, #2563EB 45%, #DC3545 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .hover-card { transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease; }
        .hover-card:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(15, 23, 42, 0.10); }
        .icon-box {
            width: 100%;
            height: auto;
            border-radius: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: transparent !important;
            box-shadow: none !important;
            border: 0 !important;
        }
        .icon-box svg { width: 2.9rem; height: 2.9rem; }
        input, select, textarea { font-size: 16px; }
        section[id] { scroll-margin-top: 7rem; }
        @media (max-width: 640px) {
            .hover-card:hover { transform: none; }
        }
        .hero-grid {
            background-image:
                linear-gradient(to right, rgba(11, 94, 215, 0.08) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(11, 94, 215, 0.08) 1px, transparent 1px);
            background-size: 4rem 4rem;
        }
        .modal-layer {
            overflow: hidden;
            overscroll-behavior: contain;
            -webkit-overflow-scrolling: touch;
        }
        .modal-stage {
            position: relative;
            min-height: 100dvh;
            height: 100dvh;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding: max(0.75rem, env(safe-area-inset-top)) 0.75rem max(0.75rem, env(safe-area-inset-bottom));
        }
        .modal-panel {
            max-height: calc(100dvh - 1.5rem);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            overscroll-behavior: contain;
        }
        .modal-scroll-area {
            flex: 1 1 auto;
            min-height: 0;
            overflow-y: auto;
            overscroll-behavior: contain;
            -webkit-overflow-scrolling: touch;
            scrollbar-gutter: stable;
            scrollbar-width: thin;
            scrollbar-color: rgba(100, 116, 139, 0.55) transparent;
        }
        .modal-scroll-area::-webkit-scrollbar {
            width: 0.65rem;
        }
        .modal-scroll-area::-webkit-scrollbar-track {
            background: transparent;
            border-radius: 9999px;
        }
        .modal-scroll-area::-webkit-scrollbar-thumb {
            background: rgba(100, 116, 139, 0.45);
            border: 0.18rem solid transparent;
            border-radius: 9999px;
            background-clip: content-box;
        }
        .modal-scroll-area::-webkit-scrollbar-thumb:hover {
            background: rgba(71, 85, 105, 0.62);
            border: 0.18rem solid transparent;
            background-clip: content-box;
        }
        .modal-panel form {
            padding-bottom: calc(1.25rem + env(safe-area-inset-bottom));
        }
        @media (min-width: 640px) {
            .modal-stage {
                padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
            }
            .modal-panel {
                max-height: calc(100dvh - 2rem);
            }
        }
        @media (min-width: 768px) {
            .modal-stage {
                align-items: center;
                padding-top: 2rem;
                padding-bottom: 2rem;
            }
            .modal-panel {
                max-height: calc(100dvh - 4rem);
            }
        }
        @media (max-width: 640px) {
            .modal-panel {
                border-radius: 24px !important;
            }
        }
        .admin-inbox-list { min-height: 0; }
        .admin-inbox-list { scrollbar-width: thin; scrollbar-color: rgba(100, 116, 139, 0.35) transparent; overscroll-behavior: contain; }
        .admin-inbox-list::-webkit-scrollbar { width: 0.55rem; }
        .admin-inbox-list::-webkit-scrollbar-track { background: transparent; }
        .admin-inbox-list::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, 0.32); border: 0.16rem solid transparent; border-radius: 9999px; background-clip: content-box; }
        .admin-inbox-list::-webkit-scrollbar-thumb:hover { background: rgba(71, 85, 105, 0.52); border: 0.16rem solid transparent; background-clip: content-box; }

        .admin-detail-scroll { scroll-behavior: smooth; min-height: 0; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: rgba(100, 116, 139, 0.45) transparent; }
        .admin-detail-scroll::-webkit-scrollbar { width: 0.65rem; }
        .admin-detail-scroll::-webkit-scrollbar-track { background: transparent; border-radius: 9999px; }
        .admin-detail-scroll::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, 0.38); border: 0.18rem solid transparent; border-radius: 9999px; background-clip: content-box; }
        .admin-detail-scroll::-webkit-scrollbar-thumb:hover { background: rgba(71, 85, 105, 0.58); border: 0.18rem solid transparent; background-clip: content-box; }
        .admin-meta-bar dd { min-width: 0; }
        .admin-request-card { cursor: pointer; }
        .admin-request-card:focus-visible { outline: 3px solid rgba(11, 94, 215, 0.25); outline-offset: 3px; }

        body[data-page="admin"] { overflow: hidden; }

        @media (min-width: 1024px) {
            .admin-shell {
                display: grid !important;
                grid-template-columns: minmax(360px, 440px) minmax(0, 1fr) !important;
                align-items: stretch;
                height: 100dvh;
                min-height: 100dvh;
            }
            .admin-inbox-panel {
                grid-column: 1;
                height: 100%;
                max-height: 100%;
                min-height: 0;
            }
            .admin-detail-panel {
                grid-column: 2;
                height: 100%;
                max-height: 100%;
                min-height: 0;
            }
        }
        @media (max-width: 1023px) {
            .admin-shell {
                min-height: 100dvh;
                height: 100dvh;
                grid-template-columns: minmax(0, 1fr);
            }
            .admin-inbox-panel,
            .admin-detail-panel {
                min-height: 100dvh;
                height: 100dvh;
            }
            .admin-detail-panel { display: none; }
            .admin-mobile-detail-open .admin-inbox-panel { display: none; }
            .admin-mobile-detail-open .admin-detail-panel { display: flex; }
        }
        @media print {
            @page { margin: 16mm; }
            html, body { background: #ffffff !important; color: #0f172a !important; }
            body { font-family: Inter, Arial, sans-serif !important; }
            svg { display: none !important; }
        }

.boravio-answer-markdown {

    white-space: normal;
    font-weight: 600;
}
.boravio-answer-markdown h3 {
    margin: 1.45rem 0 0.75rem;
    font-size: 1.35rem;
    line-height: 1.22;
    font-weight: 900;
    letter-spacing: -0.025em;
    color: #0B1F3A;
}
.boravio-answer-markdown h4 {
    margin: 1.15rem 0 0.55rem;
    font-size: 1.05rem;
    line-height: 1.3;
    font-weight: 900;
    color: #1e293b;
}
.boravio-answer-markdown h3:first-child,
.boravio-answer-markdown h4:first-child {
    margin-top: 0;
}
.boravio-answer-markdown p {
    margin: 0.75rem 0;
    line-height: 1.65;
}
.boravio-answer-markdown strong {
    font-weight: 900;
    color: #0B1F3A;
}
.boravio-answer-markdown ul,
.boravio-answer-markdown ol {
    margin: 0.75rem 0 1rem 1.25rem;
    padding-left: 1rem;
}
.boravio-answer-markdown ul { list-style: disc; }
.boravio-answer-markdown ol { list-style: decimal; }
.boravio-answer-markdown li {
    margin: 0.45rem 0;
    line-height: 1.6;
    padding-left: 0.25rem;
}
.boravio-answer-markdown a {
    color: #0B5ED7;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
    word-break: break-word;
}

.boravio-answer-markdown .boravio-link-domain {
    display: block;
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.86em;
    font-weight: 700;
    word-break: break-word;
}

@media print {
    .boravio-answer-markdown h3 { font-size: 18px !important; margin: 14px 0 7px !important; }
    .boravio-answer-markdown h4 { font-size: 15px !important; margin: 12px 0 6px !important; }
    .boravio-answer-markdown p,
    .boravio-answer-markdown li { font-size: 12.5px !important; line-height: 1.5 !important; }
    .boravio-answer-markdown ul,
    .boravio-answer-markdown ol { margin-top: 6px !important; margin-bottom: 10px !important; }
}

.admin-answer-tab { transition: color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease; }
.admin-answer-preview { min-height: 18rem; }

.traveler-inbox-list,
.traveler-detail-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.38) transparent;
    overscroll-behavior: contain;
}
.traveler-inbox-list::-webkit-scrollbar,
.traveler-detail-scroll::-webkit-scrollbar { width: 0.6rem; }
.traveler-inbox-list::-webkit-scrollbar-track,
.traveler-detail-scroll::-webkit-scrollbar-track { background: transparent; }
.traveler-inbox-list::-webkit-scrollbar-thumb,
.traveler-detail-scroll::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.34);
    border: 0.16rem solid transparent;
    border-radius: 9999px;
    background-clip: content-box;
}
.traveler-inbox-list::-webkit-scrollbar-thumb:hover,
.traveler-detail-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(71, 85, 105, 0.56);
    border: 0.16rem solid transparent;
    background-clip: content-box;
}

body[data-page="portal"] {
    overflow: hidden;
}

@media (min-width: 1024px) {
    .traveler-shell {
        grid-template-columns: minmax(340px, 440px) minmax(0, 1fr);
        height: 100dvh;
    }
    .traveler-inbox-panel,
    .traveler-detail-panel {
        min-height: 0;
        height: 100%;
    }
}

@media (max-width: 1023px) {
    .traveler-shell {
        min-height: 100dvh;
        height: 100dvh;
        grid-template-columns: minmax(0, 1fr);
    }
    .traveler-inbox-panel,
    .traveler-detail-panel {
        min-height: 100dvh;
        height: 100dvh;
    }
    .traveler-detail-panel {
        display: none;
    }
    .traveler-mobile-detail-open .traveler-inbox-panel {
        display: none;
    }
    .traveler-mobile-detail-open .traveler-detail-panel {
        display: flex;
    }
}

@media print {
    body[data-page="portal"] {
        background: #ffffff !important;
        overflow: visible !important;
    }
    body[data-page="portal"] main,
    body[data-page="portal"] .traveler-shell,
    body[data-page="portal"] .traveler-detail-panel,
    body[data-page="portal"] #portalQuestionDetail,
    body[data-page="portal"] .traveler-detail-scroll {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        flex: none !important;
    }
    body[data-page="portal"] main,
    body[data-page="portal"] .traveler-shell {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #ffffff !important;
    }
    body[data-page="portal"] .traveler-inbox-panel,
    body[data-page="portal"] #portalAskDetail,
    body[data-page="portal"] #portalEmptyDetail,
    body[data-page="portal"] #portalBackToList,
    body[data-page="portal"] #portalDetailActions,
    body[data-page="portal"] #portalConfirmBox,
    body[data-page="portal"] #portalFeedbackCard,
    body[data-page="portal"] #portalFeedbackConfirmBox,
    body[data-page="portal"] #portalFeedbackResult,
    body[data-page="portal"] #portalDetailMessage,
    body[data-page="portal"] #portalPrintButton {
        display: none !important;
    }
    body[data-page="portal"] .traveler-detail-panel,
    body[data-page="portal"] #portalQuestionDetail {
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: #ffffff !important;
    }
    body[data-page="portal"] .traveler-detail-scroll {
        padding: 0 !important;
        background: #ffffff !important;
    }
    body[data-page="portal"] #portalQuestionDetail > div:first-child {
        padding: 0 0 16px 0 !important;
        border-bottom: 1px solid #cbd5e1 !important;
    }
    body[data-page="portal"] #portalQuestionDetail section {
        break-inside: auto !important;
        page-break-inside: auto !important;
        box-shadow: none !important;
    }
    body[data-page="portal"] #portalDetailQuestion {
        font-size: 24px !important;
        line-height: 1.18 !important;
    }
    body[data-page="portal"] .boravio-answer-markdown h3,
    body[data-page="portal"] .boravio-answer-markdown h4 {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }
}
