/* ใบเสนอราคาฝั่งลูกค้าและตัวแทน (งาน #99) - โทนเดียวกับหน้าจอง */
.qt-page {
    background: #f6f8f7;
    min-height: 70vh;
    font-family: 'Sarabun', 'Noto Sans Thai', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.qt-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #035432;
    text-decoration: none;
    font-size: .92rem;
    margin-bottom: .75rem;
}

.qt-head { margin-bottom: 1rem; }
.qt-head h1 { font-size: 1.4rem; font-weight: 700; color: #123; margin: 0 0 .15rem; }
.qt-head p { margin: 0; color: #55606a; font-size: .95rem; overflow-wrap: anywhere; }

.qt-card {
    background: #fff;
    border: 1px solid #e5eae7;
    border-radius: 14px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.qt-card-title { font-size: 1.05rem; font-weight: 700; margin: 0 0 .75rem; color: #123; }

.qt-field { margin-bottom: 1rem; }
.qt-field:last-child { margin-bottom: 0; }
.qt-field[hidden] { display: none; }

.qt-label { display: block; font-weight: 600; margin-bottom: .4rem; color: #1f2d36; }
.qt-required { color: #b42318; font-weight: 700; }
.qt-field-error { display: block; color: #b42318; font-size: .85rem; margin-top: .35rem; }
.qt-optional { font-weight: 400; color: #6b7680; font-size: .85rem; }
.qt-hint { color: #6b7680; font-size: .85rem; margin-top: .4rem; }

.qt-choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.qt-choice { display: block; margin: 0; cursor: pointer; }
.qt-choice input { position: absolute; opacity: 0; pointer-events: none; }
.qt-choice span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 48px;
    padding: .5rem;
    border: 1.5px solid #d5ddd8;
    border-radius: 10px;
    background: #fff;
    text-align: center;
    font-weight: 600;
    color: #33414a;
    transition: border-color .15s, background-color .15s, color .15s;
}
.qt-choice input:checked + span { border-color: #035432; background: #eaf6ef; color: #035432; }
.qt-choice input:focus + span { box-shadow: 0 0 0 3px rgba(3, 84, 50, .18); }

.qt-choice--stack span { flex-direction: column; gap: 0; line-height: 1.3; padding: .45rem .3rem; }
.qt-choice--stack small { color: #5a6771; font-size: .8rem; font-weight: 500; }
.qt-choice--stack input:checked + span small { color: #035432; }

/* ระยะเวลาเช่า: ตัวเลือกเดียวต่อค่า "อื่นๆ" ค่อยเปิดรายการทุกเดือน */
.qt-seg { display: grid; grid-template-columns: repeat(var(--qt-seg-count, 5), minmax(0, 1fr)); gap: .35rem; }
.qt-seg-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: .25rem .1rem;
    border: 1.5px solid #d5ddd8;
    border-radius: 10px;
    background: #fff;
    color: #33414a;
    line-height: 1.2;
}
.qt-seg-btn strong { font-size: 1.05rem; }
.qt-seg-btn span { font-size: .76rem; color: #6b7680; }
.qt-seg-btn.is-on { border-color: #035432; background: #eaf6ef; color: #035432; }
.qt-seg-btn.is-on span { color: #035432; }
.qt-seg-other { margin-top: .5rem; }
.qt-seg-other[hidden] { display: none; }

.qt-chip-row { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .5rem; }
.qt-chip-row--small { margin: .5rem 0 0; }
.qt-chip {
    border: 1.5px solid #d5ddd8;
    background: #fff;
    color: #33414a;
    border-radius: 999px;
    min-height: 44px;
    padding: 0 1rem;
    font-weight: 600;
    white-space: nowrap;
}
.qt-chip.is-on { border-color: #035432; background: #eaf6ef; color: #035432; }
.qt-chip--small { min-height: 44px; padding: 0 .75rem; font-weight: 500; font-size: .88rem; }

.qt-sticky { position: sticky; top: 84px; }
@media (max-width: 991.98px) { .qt-sticky { position: static; } }

/* หน้าเลือกเงื่อนไข: มือถือเรียงเงื่อนไข → ยอด → ข้อมูลในใบ ยอดจึงอยู่ถัดจากสิ่งที่เพิ่งเลือก จอกว้างยอดอยู่ขวาตามติด */
.qt-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.qt-grid .qt-card { margin-bottom: 0; }
.qt-grid--agent .qt-area-contact { order: -1; }
@media (min-width: 992px) {
    .qt-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "cond sum" "contact sum"; align-items: start; }
    .qt-grid--agent { grid-template-areas: "contact sum" "cond sum"; }
    .qt-area-cond { grid-area: cond; }
    .qt-area-contact { grid-area: contact; }
    .qt-area-sum { grid-area: sum; position: sticky; top: 84px; }
}

/* ช่องไม่บังคับที่พับไว้ (สมาชิกเปิดไว้เพราะกรอกจากโปรไฟล์ให้แล้ว หัวข้อพับจึงซ่อน) */
.qt-more > summary { display: flex; align-items: center; gap: .35rem; min-height: 44px; list-style: none; color: #035432; font-weight: 600; cursor: pointer; }
.qt-more > summary::-webkit-details-marker { display: none; }
.qt-more > summary::before { content: '\F4FE'; font-family: 'bootstrap-icons'; }
.qt-more[open] > summary::before { content: '\F2EA'; }

/* ทรัพย์ที่กำลังเสนอราคา */
.qt-prop { display: flex; align-items: center; gap: .75rem; padding: .6rem; margin-bottom: 1rem; background: #fff; border: 1px solid #e5eae7; border-radius: 14px; }
.qt-prop-img { flex-shrink: 0; width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: #eef2f0; }
.qt-prop-img--none { display: inline-flex; align-items: center; justify-content: center; color: #9fb3a8; font-size: 1.4rem; }
.qt-prop-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.qt-prop-text strong { color: #123; overflow-wrap: anywhere; }
.qt-prop-text span { color: #55606a; font-size: .88rem; }

.qt-retry { display: flex; align-items: center; justify-content: center; gap: .3rem; width: 100%; min-height: 44px; margin-top: .5rem; border: 1px solid #f3dcae; border-radius: 10px; background: #fff6e6; color: #7a4d00; font-weight: 600; }
.qt-retry[hidden] { display: none; }

/* กำลังคิดยอดใหม่: ตัวเลขกลายเป็นแถบวิ่งในที่เดิม กล่องไม่เปลี่ยนขนาด หน้าจึงไม่กระโดด */
.qt-refreshing .qt-sum-hero-amount,
.qt-refreshing .qt-sum-hero-sub,
.qt-refreshing .qt-sum-title strong,
.qt-refreshing .qt-sum-line > span:last-child {
    color: transparent !important;
    border-radius: 6px;
    background: linear-gradient(90deg, #e9edf2 25%, #f4f6f8 50%, #e9edf2 75%);
    background-size: 200% 100%;
    animation: qt-shimmer 1.2s linear infinite;
}
.qt-refreshing .qt-sum-hero-amount,
.qt-refreshing .qt-sum-hero-sub { background-image: linear-gradient(90deg, rgba(255, 255, 255, .18) 25%, rgba(255, 255, 255, .34) 50%, rgba(255, 255, 255, .18) 75%); }
@keyframes qt-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

.qt-sum-hero {
    display: flex;
    flex-direction: column;
    background: #035432;
    color: #fff;
    border-radius: 12px;
    padding: .9rem 1rem;
    margin-bottom: .75rem;
}
.qt-sum-hero-label { font-size: .88rem; opacity: .9; }
.qt-sum-hero-amount { font-size: 1.7rem; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.qt-sum-hero-sub { font-size: .88rem; opacity: .9; }

.qt-sum-group { padding: .6rem 0; border-bottom: 1px solid #edf1ee; }
.qt-sum-group:last-of-type { border-bottom: 0; }
.qt-sum-title { display: flex; justify-content: space-between; gap: .5rem; font-weight: 700; color: #123; margin-bottom: .25rem; }
.qt-sum-line { display: flex; justify-content: space-between; gap: .75rem; font-size: .92rem; color: #3b4852; padding: .12rem 0; }
.qt-sum-line > span:last-child { white-space: nowrap; }
.qt-sum-line small { display: block; color: #6b7680; font-size: .8rem; }
.qt-sum-line--minus { color: #8a5a00; }
.qt-sum-note { color: #6b7680; font-size: .82rem; padding-top: .12rem; }
.qt-sum-group--muted .qt-sum-line { color: #55606a; }

.qt-actions { padding-top: .75rem; }

.qt-note { display: flex; gap: .5rem; align-items: flex-start; border-radius: 10px; padding: .65rem .8rem; margin-bottom: 1rem; font-size: .92rem; }
.qt-note[hidden] { display: none; }
.qt-note--field { margin: .5rem 0 0; font-size: .88rem; }
.qt-picked { align-items: center; margin-bottom: 1rem; }
.qt-picked span { flex: 1; min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.qt-picked button { flex-shrink: 0; min-height: 44px; padding: 0 .5rem; border: 0; background: none; color: #035432; font-weight: 700; text-decoration: underline; }
.qt-note--warn { background: #fff6e6; color: #7a4d00; border: 1px solid #f3dcae; }
.qt-note--info { background: #eaf6ef; color: #035432; border: 1px solid #cfe7d9; }

/* แถวรายการที่กดทำต่อได้: ข้อความซ้าย ปุ่มขวา */
.qt-pick-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem 0; border-top: 1px solid #edf1ee; }
.qt-pick-row:first-of-type { border-top: 0; padding-top: 0; }
.qt-pick-row:last-child { padding-bottom: 0; }
.qt-pick-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.qt-pick-text strong { color: #123; overflow-wrap: anywhere; }
.qt-pick-text span { color: #6b7680; font-size: .86rem; overflow-wrap: anywhere; }
.qt-pick-row .btn { flex-shrink: 0; min-height: 44px; white-space: nowrap; }
.qt-card-more { display: inline-flex; align-items: center; min-height: 44px; color: #035432; font-weight: 600; font-size: .9rem; text-decoration: none; }

.qt-head-sub { font-size: .88rem !important; color: #6b7680 !important; }
.qt-list-alert { display: flex; align-items: center; gap: .3rem; margin-top: .35rem; color: #a86500; font-size: .86rem; font-weight: 600; }

/* หน้ารายการ */
.qt-list-item {
    display: block;
    background: #fff;
    border: 1px solid #e5eae7;
    border-radius: 14px;
    padding: .85rem 1rem;
    margin-bottom: .75rem;
    color: inherit;
    text-decoration: none;
}
.qt-list-top { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; }
.qt-list-no { font-weight: 700; color: #123; }
.qt-list-title { color: #33414a; margin: .2rem 0; overflow-wrap: anywhere; }
.qt-list-meta { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; color: #6b7680; font-size: .88rem; }
.qt-list-meta strong { color: #123; }

.qt-status { display: inline-flex; align-items: center; gap: .25rem; font-size: .85rem; font-weight: 600; white-space: nowrap; }
.qt-status--info { color: #035432; }
.qt-status--success { color: #127a3e; }
.qt-status--warning { color: #a86500; }
.qt-status--muted { color: #6b7680; }

.qt-empty { text-align: center; padding: 2.5rem 1rem; color: #55606a; }
.qt-empty i { font-size: 2rem; color: #9fb3a8; }

/* หน้าใบเสนอราคา */
.qt-doc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; flex-wrap: wrap; margin-bottom: .75rem; }
.qt-next-title { display: flex; align-items: center; gap: .35rem; margin: 0 0 .15rem; font-weight: 700; color: #123; }
.qt-next-text { margin: 0 0 .65rem; color: #55606a; font-size: .9rem; }
.qt-cancel { display: block; width: 100%; min-height: 44px; margin-top: .25rem; border: 0; background: none; color: #6b7680; font-size: .9rem; }
.qt-amount-label { display: block; font-size: .78rem; font-weight: 400; color: #6b7680; text-align: right; }
.qt-doc-no { font-size: 1.15rem; font-weight: 700; color: #123; }
.qt-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem .75rem; font-size: .92rem; }
.qt-facts dt { color: #6b7680; font-weight: 400; font-size: .82rem; }
.qt-facts dd { margin: 0; color: #1f2d36; overflow-wrap: anywhere; }
.qt-facts .qt-fact-wide { grid-column: 1 / -1; }
.qt-btn-row { display: grid; gap: .5rem; }
.qt-btn-row .btn { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; min-height: 48px; }
.qt-btn-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }

/* ตัวแทน: ผลค้นหาลูกค้า */
.qt-results { border: 1px solid #e5eae7; border-radius: 10px; margin-top: .4rem; overflow: hidden; }
.qt-results[hidden] { display: none; }
.qt-result { display: block; width: 100%; text-align: left; background: #fff; border: 0; border-bottom: 1px solid #edf1ee; padding: .6rem .75rem; min-height: 44px; color: #1f2d36; text-decoration: none; overflow-wrap: anywhere; }
.qt-result:last-child { border-bottom: 0; }
.qt-result small { display: block; color: #6b7680; }
.qt-result-empty { padding: .6rem .75rem; color: #6b7680; font-size: .9rem; }

/* มือถือ: แถบยอด + ปุ่มหลัก ลอยล่างจอ แบบเดียวกับแถบบนหน้าทรัพย์ */
.qt-mobile-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    background: #fff;
    border-top: 1px solid #e5eae7;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, .08);
    padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom));
}
.qt-mobile-bar .btn { min-height: 46px; white-space: nowrap; border-radius: 12px; }
.qt-mobile-total { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 0; border: 0; background: none; line-height: 1.25; }
.qt-mobile-total span { font-size: .78rem; color: #55606a; white-space: nowrap; }
.qt-mobile-total strong { font-size: 1.15rem; color: #035432; white-space: nowrap; }
@media (max-width: 991.98px) { .qt-page { padding-bottom: 76px; } }

/* ───────────── หน้าตระกูลภารกิจตัวแทน (งาน #22: "ตัวอย่างหน้าที่ดีคือภารกิจตัวแทน") ─────────────
   แถบเขียวบนสุด การ์ดขาวเกยขอบแถบ ปุ่มหลักสีทอง ตัวแทนอายุ 40-50 ใช้บนมือถือหน้างาน: ตัวหนังสือใหญ่ ปุ่มสูงอย่างน้อย 48px */
.qt-page h1, .qt-page h2, .qt-hero-title { font-family: var(--theme-font-family-heading, 'Prompt', 'Segoe UI', sans-serif); }
.qt-shell { max-width: 880px; }
.qt-hero {
    position: relative;
    z-index: 1;
    padding: 1rem 0 4.4rem;
    background: linear-gradient(135deg, #035432 0%, #0B7A46 60%, #12924F 100%);
    color: #fff;
    overflow: hidden;
}
.qt-hero::after {
    content: '';
    position: absolute;
    right: -60px;
    top: -60px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: repeating-conic-gradient(rgba(255, 255, 255, .07) 0deg 10deg, transparent 10deg 20deg);
    pointer-events: none;
}
.qt-hero--slim { padding-bottom: 3.8rem; }
.qt-hero .container { position: relative; z-index: 1; }
.qt-hero-back { display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; color: rgba(255, 255, 255, .92); font-size: .95rem; font-weight: 600; text-decoration: none; }
.qt-hero-back:hover { color: #fff; }
.qt-hero-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.qt-hero-text { flex: 1 1 200px; min-width: 0; }
.qt-hero-title { margin: 0 0 2px; color: #fff; font-size: 1.5rem; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.qt-hero-sub { margin: 0; color: rgba(255, 255, 255, .9); font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.qt-hero-meta { margin: 2px 0 0; color: rgba(255, 255, 255, .82); font-size: .92rem; overflow-wrap: anywhere; }
.qt-main { position: relative; z-index: 2; margin-top: -3.2rem; padding-bottom: 1.5rem; }
.qt-card--lift { border: 0; border-radius: 18px; box-shadow: 0 12px 30px rgba(15, 23, 42, .12); }

/* ปุ่มหลักแบบเกม: นูน กดแล้วยุบ ไม่ยกขึ้นตอนชี้ */
.qt-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 0 20px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(180deg, #FFD15C 0%, #FFB020 60%, #F59E0B 100%);
    box-shadow: 0 4px 0 #C77700, 0 8px 18px rgba(224, 138, 0, .28);
    color: #4A2800;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: transform .08s ease, box-shadow .08s ease, filter .15s ease;
}
.qt-cta:hover { color: #4A2800; filter: brightness(1.05); }
.qt-cta:active { transform: translateY(3px); box-shadow: 0 1px 0 #C77700, 0 3px 8px rgba(224, 138, 0, .28); }
.qt-cta:focus-visible { outline: 3px solid #035432; outline-offset: 2px; }
.qt-cta--go { background: linear-gradient(180deg, #12924F 0%, #0B7A46 55%, #035432 100%); box-shadow: 0 4px 0 #023A23, 0 8px 18px rgba(3, 84, 50, .25); color: #fff; }
.qt-cta--go:hover { color: #fff; }
.qt-cta--go:active { box-shadow: 0 1px 0 #023A23, 0 3px 8px rgba(3, 84, 50, .25); }
.qt-cta[disabled] { opacity: .6; cursor: default; }
.qt-cta > .bi, .qt-btn-row .btn > .bi { position: relative; top: .06em; }
.qt-hero .qt-cta { flex: 0 0 auto; }
@media (max-width: 575.98px) {
    .qt-hero-title { font-size: 1.3rem; }
    .qt-hero-sub { font-size: .95rem; }
    .qt-hero .qt-cta { flex: 1 1 100%; }
}

/* ค้นหา + แท็บสถานะในการ์ดเดียว แท็บเลื่อนแนวนอนบนมือถือ ไม่กินความสูง */
.qt-search { display: flex; gap: .5rem; }
.qt-search .form-control { min-height: 48px; }
.qt-search .btn { min-height: 48px; white-space: nowrap; }
.qt-tabs { display: flex; gap: .4rem; margin: .75rem -1rem -.15rem; padding: 0 1rem .15rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.qt-tabs::-webkit-scrollbar { display: none; }
.qt-tab { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .4rem; min-height: 44px; padding: 0 .8rem; border: 1.5px solid #d5ddd8; border-radius: 999px; background: #fff; color: #33414a; font-size: .92rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.qt-tab strong { min-width: 22px; padding: 0 5px; border-radius: 999px; background: #eef2f0; color: #33414a; font-family: Inter, sans-serif; font-size: .78rem; line-height: 22px; text-align: center; }
.qt-tab.is-active { border-color: #035432; background: #035432; color: #fff; }
.qt-tab.is-active strong { background: rgba(255, 255, 255, .22); color: #fff; }
.qt-tab.is-alert:not(.is-active) { border-color: #f0c674; color: #7a4d00; }
.qt-tab.is-alert:not(.is-active) strong { background: #fff0cf; color: #7a4d00; }
.qt-tab:focus-visible { outline: 3px solid #127a3e; outline-offset: 2px; }

/* งานที่รอทำต่อ: กรอบสีทองแบบ "ภารกิจถัดไป" */
.qt-next-card { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1rem; padding: 1rem; border: 2px solid #FFB020; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(224, 138, 0, .12); }
.qt-next-kicker { display: block; color: #B26A00; font-size: .85rem; font-weight: 800; }
.qt-next-head { margin: 0; color: #123; font-size: 1.12rem; font-weight: 800; line-height: 1.35; }
.qt-next-sub { margin: 2px 0 0; color: #55606a; font-size: .95rem; }
.qt-next-actions { display: grid; gap: .6rem; }
.qt-next-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.qt-next-pair .btn { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; min-height: 48px; }
.qt-next-split { padding-top: .75rem; border-top: 1px dashed #e3c79a; }

/* เส้นทางของดีล: ออกใบ → จอง → ทำสัญญา → เซ็นครบ */
.qt-journey { display: flex; margin: 0 0 .25rem; padding: 0; list-style: none; }
.qt-journey li { position: relative; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; color: #7a858d; font-size: .8rem; line-height: 1.25; text-align: center; }
.qt-journey li + li::before { content: ''; position: absolute; top: 13px; right: 50%; width: 100%; height: 2px; background: #dfe6e2; }
.qt-journey li.is-done + li::before, .qt-journey li.is-current::before { background: #127a3e; }
.qt-journey-dot { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 2px solid #dfe6e2; border-radius: 50%; background: #fff; font-family: Inter, sans-serif; font-size: .8rem; font-weight: 700; }
.qt-journey .is-done { color: #127a3e; }
.qt-journey .is-done .qt-journey-dot { border-color: #127a3e; background: #127a3e; color: #fff; }
.qt-journey .is-current { color: #123; font-weight: 700; }
.qt-journey .is-current .qt-journey-dot { border-color: #035432; background: #035432; color: #fff; }

/* ชิปสถานะ: พื้นอ่อน ไอคอนในวง อ่านจากไกลได้ */
.qt-status { min-height: 28px; padding: 0 .6rem; border-radius: 999px; background: #eaf6ef; }
.qt-status--success { background: #e6f5ec; }
.qt-status--warning { background: #fff0cf; color: #7a4d00; }
.qt-status--muted { background: #eef1f3; }
.qt-chip-time { display: inline-flex; align-items: center; gap: .25rem; min-height: 24px; padding: 0 .5rem; border-radius: 999px; background: #eaf6ef; color: #035432; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.qt-chip-time.is-soon { background: #fff0cf; color: #7a4d00; }

/* แถวในรายการ: ลูกค้ามาก่อน แล้วทรัพย์ ยอด และขั้นถัดไป */
.qt-list-who { color: #123; font-size: 1.05rem; font-weight: 700; overflow-wrap: anywhere; }
.qt-list-prop { color: #33414a; font-size: .95rem; margin-top: .1rem; overflow-wrap: anywhere; }
.qt-list-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; margin-top: .35rem; }
.qt-list-sub { color: #6b7680; font-size: .86rem; line-height: 1.4; min-width: 0; overflow-wrap: anywhere; }
.qt-list-money { flex-shrink: 0; text-align: right; color: #123; font-weight: 700; font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.qt-list-item:hover { border-color: #b7dec6; color: inherit; }

/* ใต้ช่องเบอร์: ตรวจแล้วบอกทันที */
.qt-notice { display: grid; gap: .5rem; margin-top: .5rem; }
.qt-notice:empty { display: none; }
.qt-notice .qt-note { margin: 0; }
.qt-note-body { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.qt-note-action { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; color: inherit; font-weight: 800; text-decoration: underline; }
.qt-note--danger { background: #fdecea; color: #912018; border: 1px solid #f7c9c4; }
.qt-results-head { padding: .45rem .75rem; background: #f6f8f7; color: #55606a; font-size: .82rem; font-weight: 700; }

/* ข้อความใต้ช่องที่ซ้ำกับข้อความผิด: แสดงอย่างเดียว */
.is-invalid ~ .qt-hint,
.is-invalid ~ .form-text { display: none; }

/* ช่องเงิน: ฿ คงที่ซ้าย ตัวเลขชิดขวาแบบยอดรวม */
.qt-money { position: relative; }
.qt-money::before { content: '฿'; position: absolute; left: .85rem; top: 0; display: flex; align-items: center; height: 38px; color: #64748b; font-weight: 600; pointer-events: none; }
.qt-money .form-control { padding-left: 1.9rem; text-align: right; font-variant-numeric: tabular-nums; }

/* ปุ่มรองในการ์ดจองสำเร็จและหน้าใบ */
.qt-text-btn { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; padding: 0; border: 0; background: none; color: #035432; font-size: .92rem; font-weight: 700; text-decoration: underline; }
.qt-text-btn[hidden] { display: none; }
