:root {
    --mfx-primary: #006aff;
    --mfx-primary-dark: #0054cc;
    --mfx-ink: #14213d;
    --mfx-muted: #667085;
    --mfx-border: #e7ecf2;
    --mfx-soft: #f6f9fc;
    --mfx-white: #fff;
}

.mfx-page { padding: 48px 0 80px; background: #f7f9fc; min-height: 70vh; }
.mfx-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.mfx-page-head h1 { margin:6px 0 8px; color:var(--mfx-ink); font-size:36px; font-weight:800; }
.mfx-page-head p { margin:0; color:var(--mfx-muted); max-width:760px; }
.mfx-eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--mfx-primary); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mfx-back-link { display:inline-flex; align-items:center; gap:8px; color:var(--mfx-primary); font-weight:700; white-space:nowrap; }
.mfx-back-link:hover { color:var(--mfx-primary-dark); text-decoration:none; }
.mfx-card { background:#fff; border:1px solid var(--mfx-border); border-radius:18px; box-shadow:0 12px 35px rgba(15,23,42,.05); }
.mfx-card-head { padding:24px 24px 0; }
.mfx-card-head.horizontal { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.mfx-card-head h3 { margin:0 0 5px; color:var(--mfx-ink); font-size:20px; font-weight:800; }
.mfx-card-head p { margin:0; color:var(--mfx-muted); font-size:14px; }
.mfx-investment-grid > [class*="col-"] { margin-bottom:24px; }
.mfx-form-card { position:sticky; top:105px; overflow:hidden; }
.mfx-form { padding:22px 24px 26px; }
.mfx-field { margin-bottom:17px; }
.mfx-field label { display:block; color:#344054; font-size:13px; font-weight:700; margin-bottom:7px; }
.mfx-field input { width:100%; height:46px; border:1px solid #dbe2ea; border-radius:10px; padding:0 12px; outline:none; background:#fff; transition:.2s; }
.mfx-field input:focus { border-color:var(--mfx-primary); box-shadow:0 0 0 3px rgba(0,106,255,.08); }
.mfx-field small { display:block; color:#98a2b3; font-size:11px; line-height:1.4; margin-top:5px; }
.mfx-input-suffix { position:relative; }
.mfx-input-suffix input { padding-right:62px; }
.mfx-input-suffix span { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#667085; font-size:12px; font-weight:700; }
.mfx-primary-btn { width:100%; border:0; border-radius:11px; background:var(--mfx-primary); color:#fff; min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:800; cursor:pointer; transition:.2s; }
.mfx-primary-btn:hover { background:var(--mfx-primary-dark); color:#fff; text-decoration:none; transform:translateY(-1px); }
.mfx-primary-btn.inline { width:auto; padding:0 22px; margin-top:12px; }
.mfx-property-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; background:linear-gradient(135deg,#0f1f3c,#153b75); color:#fff; padding:25px 28px; border-radius:18px; margin-bottom:18px; box-shadow:0 16px 35px rgba(15,31,60,.14); }
.mfx-property-summary .mfx-muted { color:#b9c9e5; font-size:12px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.mfx-property-summary h2 { margin:4px 0 0; color:#fff; font-size:22px; font-weight:800; }
.mfx-price-block { text-align:right; }
.mfx-price-block span { display:block; color:#b9c9e5; font-size:12px; margin-bottom:5px; }
.mfx-price-block strong { font-size:22px; color:#fff; }
.mfx-metric-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.mfx-metric-card { background:#fff; border:1px solid var(--mfx-border); border-radius:15px; padding:20px; box-shadow:0 8px 25px rgba(15,23,42,.04); }
.mfx-metric-card.featured { border-color:#b9d6ff; background:linear-gradient(180deg,#f6faff,#fff); }
.mfx-metric-card span { display:block; font-size:12px; color:#667085; font-weight:700; margin-bottom:8px; }
.mfx-metric-card strong { display:block; color:#101828; font-size:20px; font-weight:800; }
.mfx-metric-card small { display:block; margin-top:5px; color:#98a2b3; }
.mfx-results-card, .mfx-appreciation-card { margin-bottom:18px; overflow:hidden; }
.mfx-result-table { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 24px 24px; column-gap:35px; }
.mfx-result-table > div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 0; border-bottom:1px solid #edf1f5; }
.mfx-result-table span { color:#667085; font-size:13px; }
.mfx-result-table strong { color:#101828; font-size:14px; text-align:right; }
.mfx-negative { color:#d92d20 !important; }
.mfx-pill { display:inline-flex; align-items:center; border-radius:999px; padding:7px 11px; font-size:11px; font-weight:800; }
.mfx-pill.warning { background:#fff4e5; color:#b54708; }
.mfx-appreciation-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:20px 24px 24px; }
.mfx-appreciation-values > div { padding:18px; border-radius:13px; background:#f7f9fc; border:1px solid #edf0f4; }
.mfx-appreciation-values span { display:block; color:#667085; font-size:12px; margin-bottom:6px; }
.mfx-appreciation-values strong { color:#101828; font-size:18px; }
.mfx-disclaimer { display:flex; align-items:flex-start; gap:10px; color:#667085; font-size:12px; line-height:1.55; padding:5px 4px; }
.mfx-disclaimer i { color:var(--mfx-primary); margin-top:2px; }
.mfx-alert { border-radius:12px; }
.mfx-empty-state { text-align:center; padding:55px 25px; }
.mfx-empty-state > i { width:56px; height:56px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#edf5ff; color:var(--mfx-primary); font-size:22px; margin-bottom:15px; }
.mfx-empty-state h3 { color:var(--mfx-ink); font-weight:800; }
.mfx-empty-state p { color:var(--mfx-muted); max-width:620px; margin:0 auto; }

.mfx-signal-card { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff; border:1px solid var(--mfx-border); border-radius:16px; padding:20px 22px; margin-bottom:22px; }
.mfx-signal-title { display:flex; align-items:center; gap:13px; min-width:250px; }
.mfx-signal-title > i { width:42px; height:42px; border-radius:11px; background:#eef5ff; color:var(--mfx-primary); display:flex; align-items:center; justify-content:center; }
.mfx-signal-title strong { display:block; color:#101828; }
.mfx-signal-title span { display:block; color:#98a2b3; font-size:12px; margin-top:3px; }
.mfx-signal-chips { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.mfx-chip { display:inline-flex; align-items:center; gap:6px; border:1px solid #e3e8ef; background:#f9fafb; border-radius:999px; padding:7px 10px; color:#475467; font-size:12px; font-weight:600; }
.mfx-chip i { color:var(--mfx-primary); }
.mfx-reco-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#667085; margin-bottom:16px; }
.mfx-reco-toolbar strong { color:#101828; }
.mfx-reco-toolbar span { font-size:12px; }
.mfx-reco-card { height:100%; background:#fff; border:1px solid var(--mfx-border); border-radius:16px; overflow:hidden; box-shadow:0 10px 28px rgba(15,23,42,.05); transition:.22s; }
.mfx-reco-card:hover { transform:translateY(-4px); box-shadow:0 18px 35px rgba(15,23,42,.1); }
.mfx-reco-image { display:block; position:relative; height:230px; overflow:hidden; background:#edf1f5; }
.mfx-reco-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.mfx-reco-card:hover .mfx-reco-image img { transform:scale(1.035); }
.mfx-image-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#a7b2c1; font-size:42px; }
.mfx-reco-badges { position:absolute; left:14px; top:14px; display:flex; flex-wrap:wrap; gap:7px; }
.mfx-reco-badges span { background:rgba(15,23,42,.82); color:#fff; padding:6px 9px; border-radius:8px; font-size:10px; font-weight:800; }
.mfx-reco-badges span.verified { background:#0e9f6e; }
.mfx-reco-body { padding:18px 19px 19px; }
.mfx-reco-location { color:#98a2b3; font-size:11px; margin-bottom:7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mfx-reco-location i { color:var(--mfx-primary); margin-right:5px; }
.mfx-reco-body h3 { font-size:17px; line-height:1.35; margin:0 0 12px; min-height:46px; }
.mfx-reco-body h3 a { color:#182230; font-weight:800; }
.mfx-reco-body h3 a:hover { color:var(--mfx-primary); text-decoration:none; }
.mfx-reco-facts { display:flex; flex-wrap:wrap; gap:14px; color:#667085; font-size:12px; padding-bottom:14px; border-bottom:1px solid #edf1f5; }
.mfx-reco-facts i { color:#8a98aa; margin-right:4px; }
.mfx-reco-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:14px; }
.mfx-reco-footer strong { color:var(--mfx-primary); font-size:16px; }
.mfx-reco-footer a { color:#475467; font-size:11px; font-weight:700; }

/* Misesso AI floating assistant */
.mai-antiforgery { display:none; }
.mai-root { position:fixed; z-index:99990; right:22px; bottom:22px; font-family:"Lato",Arial,sans-serif; }
.mai-launcher { min-width:172px; height:58px; border:0; border-radius:18px; background:linear-gradient(135deg,#006aff,#064ac2); color:#fff; box-shadow:0 18px 45px rgba(0,79,196,.3); display:flex; align-items:center; gap:11px; padding:8px 16px 8px 10px; cursor:pointer; transition:.2s; }
.mai-launcher:hover { transform:translateY(-2px); box-shadow:0 22px 50px rgba(0,79,196,.36); }
.mai-launcher-icon { width:40px; height:40px; flex:0 0 40px; border-radius:12px; background:rgba(255,255,255,.17); display:flex; align-items:center; justify-content:center; font-size:17px; }
.mai-launcher-copy { text-align:left; line-height:1.2; }
.mai-launcher-copy strong { display:block; color:#fff; font-size:14px; }
.mai-launcher-copy small { color:#dbeaff; font-size:10px; }
.mai-panel { position:absolute; right:0; bottom:72px; width:min(760px,calc(100vw - 44px)); height:min(660px,calc(100vh - 115px)); background:#fff; border:1px solid #dde5ee; border-radius:20px; box-shadow:0 28px 80px rgba(15,23,42,.22); display:none; overflow:hidden; }
.mai-panel.open { display:flex; animation:maiOpen .18s ease-out; }
@keyframes maiOpen { from { opacity:0; transform:translateY(10px) scale(.99); } to { opacity:1; transform:none; } }
.mai-sidebar { width:215px; flex:0 0 215px; background:#f7f9fc; border-right:1px solid #e9edf3; display:flex; flex-direction:column; }
.mai-sidebar-head { height:63px; display:flex; align-items:center; justify-content:space-between; padding:0 14px 0 17px; border-bottom:1px solid #e9edf3; color:#344054; font-size:13px; }
.mai-sidebar-head button, .mai-header-actions button { width:32px; height:32px; border:0; border-radius:9px; background:transparent; color:#667085; cursor:pointer; }
.mai-sidebar-head button:hover, .mai-header-actions button:hover { background:#e9eef5; color:#101828; }
.mai-session-list { flex:1; overflow-y:auto; padding:10px; }
.mai-session-loading { color:#98a2b3; font-size:11px; line-height:1.5; padding:8px; }
.mai-session-item { display:flex; align-items:center; gap:5px; border-radius:10px; margin-bottom:4px; }
.mai-session-open { flex:1; min-width:0; border:0; background:transparent; border-radius:10px; padding:9px 8px; text-align:left; cursor:pointer; }
.mai-session-open strong { display:block; color:#475467; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:700; }
.mai-session-open small { display:block; color:#a0a9b8; font-size:9px; margin-top:3px; }
.mai-session-item:hover, .mai-session-item.active { background:#eaf2ff; }
.mai-session-item.active .mai-session-open strong { color:#075fcf; }
.mai-session-delete { flex:0 0 27px; width:27px; height:27px; border:0; background:transparent; border-radius:8px; color:#a4acb8; cursor:pointer; opacity:0; }
.mai-session-item:hover .mai-session-delete { opacity:1; }
.mai-session-delete:hover { color:#d92d20; background:#fff1f0; }
.mai-main { flex:1; min-width:0; display:flex; flex-direction:column; background:#fff; }
.mai-header { height:63px; flex:0 0 63px; border-bottom:1px solid #edf0f4; display:flex; align-items:center; justify-content:space-between; padding:0 13px 0 16px; }
.mai-brand { display:flex; align-items:center; gap:10px; }
.mai-brand-icon { width:36px; height:36px; border-radius:11px; background:linear-gradient(135deg,#006aff,#0750bc); color:#fff; display:flex; align-items:center; justify-content:center; }
.mai-brand strong { display:block; color:#182230; font-size:13px; }
.mai-brand span { display:flex; align-items:center; gap:5px; color:#98a2b3; font-size:9px; margin-top:3px; }
.mai-brand span i { width:6px; height:6px; background:#12b76a; border-radius:50%; }
.mai-header-actions { display:flex; gap:3px; }
#mai-toggle-sidebar { display:none; }
.mai-messages { flex:1; overflow-y:auto; padding:20px 18px; scroll-behavior:smooth; }
.mai-welcome { max-width:500px; margin:38px auto 0; text-align:center; }
.mai-welcome-icon { width:58px; height:58px; border-radius:18px; background:#eef5ff; color:#006aff; display:flex; align-items:center; justify-content:center; font-size:23px; margin:0 auto 15px; }
.mai-welcome h3 { margin:0 0 7px; color:#182230; font-size:18px; font-weight:800; }
.mai-welcome p { color:#7a8798; font-size:12px; line-height:1.6; margin:0 auto; }
.mai-quick-prompts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
.mai-quick-prompts button { border:1px solid #e1e7ef; background:#fff; color:#475467; border-radius:10px; padding:10px 11px; font-size:10px; font-weight:700; cursor:pointer; text-align:left; transition:.15s; }
.mai-quick-prompts button:hover { border-color:#a8ccff; background:#f7fbff; color:#075fcf; }
.mai-message-row { display:flex; margin-bottom:14px; }
.mai-message-row.user { justify-content:flex-end; }
.mai-message-row.assistant { justify-content:flex-start; }
.mai-bubble { max-width:82%; border-radius:15px; padding:10px 12px; font-size:12px; line-height:1.55; word-break:break-word; }
.mai-message-row.user .mai-bubble { background:#006aff; color:#fff; border-bottom-right-radius:4px; }
.mai-message-row.assistant .mai-bubble { background:#f4f6f9; color:#344054; border-bottom-left-radius:4px; }
.mai-bubble strong { font-weight:800; }
.mai-bubble code { background:rgba(15,23,42,.08); border-radius:5px; padding:1px 4px; font-size:11px; }
.mai-bubble a { color:#006aff; text-decoration:underline; }
.mai-typing { display:inline-flex; align-items:center; gap:4px; height:14px; }
.mai-typing i { width:5px; height:5px; border-radius:50%; background:#98a2b3; animation:maiDot 1s infinite ease-in-out; }
.mai-typing i:nth-child(2) { animation-delay:.14s; }
.mai-typing i:nth-child(3) { animation-delay:.28s; }
@keyframes maiDot { 0%,80%,100%{transform:scale(.7);opacity:.45} 40%{transform:scale(1);opacity:1} }
.mai-auth-message { margin:0 16px 12px; border:1px solid #d8e6fb; background:#f6faff; border-radius:12px; padding:11px 12px; display:flex; align-items:center; gap:10px; }
.mai-auth-message[hidden] { display:none; }
.mai-auth-message > i { color:#006aff; }
.mai-auth-message div { flex:1; min-width:0; }
.mai-auth-message strong { display:block; color:#344054; font-size:11px; }
.mai-auth-message span { display:block; color:#7b8798; font-size:9px; margin-top:2px; }
.mai-auth-message a { background:#006aff; color:#fff; border-radius:8px; padding:7px 9px; font-size:10px; font-weight:700; }
.mai-composer { flex:0 0 auto; border-top:1px solid #edf0f4; padding:11px 14px 10px; }
.mai-composer-box { display:flex; align-items:flex-end; gap:8px; border:1px solid #dce3eb; background:#fff; border-radius:12px; padding:6px 6px 6px 10px; }
.mai-composer-box:focus-within { border-color:#8ebeff; box-shadow:0 0 0 3px rgba(0,106,255,.06); }
.mai-composer textarea { flex:1; min-width:0; max-height:110px; resize:none; border:0; outline:0; padding:7px 0; color:#344054; font-size:12px; line-height:1.4; background:transparent; }
.mai-composer textarea::placeholder { color:#a0a8b5; }
.mai-composer button { width:36px; height:36px; flex:0 0 36px; border:0; border-radius:9px; background:#006aff; color:#fff; cursor:pointer; }
.mai-composer button:disabled { opacity:.45; cursor:not-allowed; }
.mai-composer-note { color:#a0a8b5; text-align:center; font-size:8px; margin-top:5px; }

@media (max-width: 991px) {
    .mfx-page-head, .mfx-signal-card, .mfx-reco-toolbar { align-items:flex-start; flex-direction:column; }
    .mfx-signal-chips { justify-content:flex-start; }
    .mfx-form-card { position:static; }
}
@media (max-width: 700px) {
    .mfx-page { padding:30px 0 60px; }
    .mfx-page-head h1 { font-size:28px; }
    .mfx-property-summary { align-items:flex-start; flex-direction:column; }
    .mfx-price-block { text-align:left; }
    .mfx-metric-grid, .mfx-result-table, .mfx-appreciation-values { grid-template-columns:1fr; }
    .mfx-result-table { padding-top:14px; }
    .mai-root { right:12px; bottom:12px; }
    .mai-launcher { min-width:54px; width:54px; height:54px; border-radius:17px; padding:7px; justify-content:center; }
    .mai-launcher-copy { display:none; }
    .mai-launcher-icon { width:40px; height:40px; }
    .mai-panel { position:fixed; inset:10px; width:auto; height:auto; border-radius:16px; }
    .mai-sidebar { position:absolute; z-index:5; left:0; top:0; bottom:0; transform:translateX(-102%); transition:.2s; box-shadow:12px 0 28px rgba(15,23,42,.12); }
    .mai-sidebar.mobile-open { transform:translateX(0); }
    #mai-toggle-sidebar { display:inline-block; }
    .mai-welcome { margin-top:20px; }
    .mai-quick-prompts { grid-template-columns:1fr; }
    .mai-bubble { max-width:90%; }
}

/* ──────────────────────────────────────────────────────────────────────────
   Appointment scheduling
   ────────────────────────────────────────────────────────────────────────── */
.mfx-appointment-tabs {
    display:flex; gap:8px; padding:5px; margin-bottom:24px;
    background:#eaf0f7; border-radius:12px; width:max-content; max-width:100%;
}
.mfx-appointment-tab {
    border:0; background:transparent; color:#64748b; border-radius:9px;
    padding:11px 18px; font-size:14px; font-weight:700; cursor:pointer;
    display:flex; align-items:center; gap:8px; transition:.18s ease;
}
.mfx-appointment-tab span {
    min-width:24px; height:24px; padding:0 7px; display:inline-flex; align-items:center;
    justify-content:center; border-radius:20px; background:#dbe4ef; color:#475569; font-size:12px;
}
.mfx-appointment-tab.active { background:#fff; color:#006aff; box-shadow:0 2px 10px rgba(15,23,42,.08); }
.mfx-appointment-tab.active span { background:#eaf3ff; color:#006aff; }
.mfx-appointment-panel { display:none; }
.mfx-appointment-panel.active { display:block; }
.mfx-appointment-list { display:grid; gap:16px; }
.mfx-appointment-card {
    display:grid; grid-template-columns:230px 1fr; background:#fff; border:1px solid #e5eaf1;
    border-radius:14px; overflow:hidden; box-shadow:0 6px 18px rgba(15,23,42,.035);
}
.mfx-appointment-datebox {
    padding:22px; background:#f8fafc; border-right:1px solid #e5eaf1;
    display:flex; flex-direction:column; align-items:flex-start; gap:10px;
}
.mfx-appointment-datebox > i { color:#006aff; font-size:24px; }
.mfx-appointment-datebox strong { color:#14213d; font-size:15px; line-height:1.45; }
.mfx-status {
    display:inline-flex; align-items:center; border-radius:999px; padding:5px 10px;
    text-transform:capitalize; font-size:11px; font-weight:800; letter-spacing:.25px;
    background:#fff3cd; color:#8a6200;
}
.mfx-status.confirmed { background:#dcfce7; color:#166534; }
.mfx-status.rejected { background:#fee2e2; color:#991b1b; }
.mfx-status.cancelled { background:#f1f5f9; color:#64748b; }
.mfx-status.completed { background:#dbeafe; color:#1d4ed8; }
.mfx-appointment-content { padding:22px; display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.mfx-appointment-main { min-width:0; }
.mfx-appointment-main h3 { margin:0 0 8px; color:#14213d; font-size:19px; font-weight:800; }
.mfx-appointment-main p { margin:5px 0; color:#64748b; font-size:13px; }
.mfx-appointment-main p i { width:18px; color:#006aff; }
.mfx-appointment-note, .mfx-owner-note {
    margin-top:12px; padding:10px 12px; border-radius:8px; font-size:13px; line-height:1.5;
    background:#f8fafc; color:#475569; border:1px solid #e5eaf1;
}
.mfx-owner-note { background:#eff6ff; border-color:#dbeafe; }
.mfx-appointment-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; min-width:230px; }
.mfx-appointment-actions form { margin:0; }
.mfx-success-btn, .mfx-danger-btn, .mfx-secondary-btn {
    border-radius:8px; padding:10px 14px; display:inline-flex; align-items:center; justify-content:center;
    gap:7px; text-decoration:none; font-weight:700; font-size:13px; border:1px solid transparent;
    cursor:pointer; transition:.15s ease; white-space:nowrap;
}
.mfx-success-btn { background:#16a34a; color:#fff; border-color:#16a34a; }
.mfx-success-btn:hover { background:#15803d; color:#fff; }
.mfx-danger-btn { background:#fff; color:#dc2626; border-color:#fecaca; }
.mfx-danger-btn:hover { background:#fef2f2; color:#b91c1c; }
.mfx-secondary-btn { background:#fff; color:#334155; border-color:#d7dee8; }
.mfx-secondary-btn:hover { background:#f8fafc; color:#0f172a; }
.mfx-empty-state {
    background:#fff; border:1px dashed #cbd5e1; border-radius:14px; padding:55px 24px;
    text-align:center; color:#64748b;
}
.mfx-empty-state > i { font-size:34px; color:#006aff; margin-bottom:14px; }
.mfx-empty-state h3 { color:#14213d; margin:0 0 8px; font-size:21px; font-weight:800; }
.mfx-empty-state p { margin:0 auto 20px; max-width:520px; }
.mfx-booking-card { overflow:hidden; }
.mfx-booking-property {
    display:flex; gap:16px; align-items:flex-start; background:#f8fafc; border-bottom:1px solid #e5eaf1;
    padding:22px 24px;
}
.mfx-booking-icon {
    width:46px; height:46px; border-radius:10px; background:#eaf3ff; color:#006aff;
    display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px;
}
.mfx-booking-property span { color:#94a3b8; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.35px; }
.mfx-booking-property h2 { margin:3px 0 5px; color:#14213d; font-size:21px; font-weight:800; }
.mfx-booking-property p { margin:0; color:#64748b; font-size:13px; }
.mfx-book-form { padding:24px; }
.mfx-booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mfx-book-form textarea { resize:vertical; min-height:120px; }
.mfx-booking-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:22px; }

@media (max-width: 991px) {
    .mfx-appointment-card { grid-template-columns:1fr; }
    .mfx-appointment-datebox { border-right:0; border-bottom:1px solid #e5eaf1; flex-direction:row; align-items:center; flex-wrap:wrap; }
    .mfx-appointment-datebox > i { font-size:20px; }
    .mfx-appointment-datebox strong { flex:1; }
    .mfx-appointment-content { flex-direction:column; }
    .mfx-appointment-actions { min-width:0; justify-content:flex-start; }
}
@media (max-width: 600px) {
    .mfx-appointment-tabs { width:100%; }
    .mfx-appointment-tab { flex:1; justify-content:center; padding:10px 8px; font-size:12px; }
    .mfx-booking-grid { grid-template-columns:1fr; }
    .mfx-booking-actions { flex-direction:column-reverse; align-items:stretch; }
    .mfx-booking-actions > * { width:100%; }
}
