        /* ───────── DASHBOARD v2 ─────────
         * Header, timeline, status pills, held-until callout.
         * All colors resolve through --fbm-* tokens defined in design-tokens.css.
         */
        .fbm-mr-wrap { max-width:1100px; margin:0 auto; padding:40px 20px 60px; color:var(--fbm-text,#0F172A); font-family:var(--fbm-font,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif); }
        .fbm-mr-header { margin-bottom:24px; }
        .fbm-mr-header h1 { font-size:32px; margin:0 0 8px; font-weight:700; letter-spacing:-0.01em; color:var(--fbm-text,#0F172A); }
        .fbm-mr-sub { font-size:15px; color:var(--fbm-text-muted,#64748B); margin:0 0 16px; line-height:1.5; }

        /* Held-until — amber-tinted callout to convey urgency without alarming */
        .fbm-d-held { font-size:15px; color:var(--fbm-text,#0F172A); margin:0 0 14px; padding:10px 14px; background:var(--fbm-warning-bg,#FFFBEB); border-left:3px solid var(--fbm-warning,#D97706); border-radius:6px; line-height:1.5; }
        .fbm-d-held strong { color:var(--fbm-warning,#D97706); font-weight:700; }

        /* Reservation # + status pill row */
        .fbm-mr-meta-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:20px; }
        .fbm-mr-ref { font-size:13px; color:var(--fbm-text-muted,#64748B); }
        .fbm-mr-ref strong { color:var(--fbm-text,#0F172A); font-weight:700; }
        .fbm-mr-pill { display:inline-block; padding:5px 12px; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
        .fbm-mr-pill-submitted { background:var(--fbm-warning-bg,#FFFBEB); color:var(--fbm-warning,#D97706); }
        .fbm-mr-pill-paid { background:var(--fbm-success-bg,#F0FDF4); color:var(--fbm-success,#16A34A); }
        .fbm-mr-pill-expired,.fbm-mr-pill-rejected { background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text-muted,#64748B); }

        /* 5-step timeline — connected dots with check icons + pulse on current */
        .fbm-mr-timeline { display:flex; list-style:none; padding:0; margin:0 0 28px; gap:0; }
        .fbm-mr-tl-step { flex:1; text-align:center; position:relative; padding-top:8px; }
        .fbm-mr-tl-step:not(:last-child)::after { content:''; position:absolute; top:18px; left:calc(50% + 14px); right:calc(-50% + 14px); height:2px; background:var(--fbm-border,#E2E8F0); z-index:1; }
        .fbm-mr-tl-step.is-done:not(:last-child)::after { background:var(--fbm-primary,#0066FF); }
        .fbm-mr-tl-dot { width:20px; height:20px; border-radius:50%; background:var(--fbm-border,#E2E8F0); display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:2; transition:background .2s, box-shadow .2s; }
        .fbm-mr-tl-step.is-done .fbm-mr-tl-dot { background:var(--fbm-primary,#0066FF); color:#fff; }
        .fbm-mr-tl-step.is-current .fbm-mr-tl-dot { background:#fff; border:2px solid var(--fbm-primary,#0066FF); box-shadow:0 0 0 5px color-mix(in srgb, var(--fbm-primary,#0066FF) 18%, transparent); animation:fbmpulse 2s ease-in-out infinite; }
        .fbm-mr-tl-check { width:11px; height:11px; }
        @keyframes fbmpulse {
            0%,100% { box-shadow:0 0 0 5px color-mix(in srgb, var(--fbm-primary,#0066FF) 18%, transparent); }
            50%     { box-shadow:0 0 0 8px color-mix(in srgb, var(--fbm-primary,#0066FF) 8%,  transparent); }
        }
        .fbm-mr-tl-label { display:block; font-size:12px; color:var(--fbm-text-muted,#64748B); margin-top:8px; font-weight:500; }
        .fbm-mr-tl-step.is-done .fbm-mr-tl-label { color:var(--fbm-text,#0F172A); }
        .fbm-mr-tl-step.is-current .fbm-mr-tl-label { color:var(--fbm-primary,#0066FF); font-weight:700; }
        .fbm-mr-grid { display:grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap:28px; }
        .fbm-mr-main, .fbm-mr-side { display:flex; flex-direction:column; gap:16px; }
        .fbm-mr-side { position:sticky; top:20px; align-self:flex-start; }
        .fbm-mr-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:20px; }
        .fbm-mr-status-sentence { margin:0; font-size:15px; font-weight:500; color:#111827; }
        .fbm-mr-hero { display:flex; gap:16px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:18px; align-items:center; }
        .fbm-mr-hero-img { width:120px; height:120px; border-radius:10px; object-fit:cover; background:#f3f4f6; flex-shrink:0; }
        .fbm-mr-hero-noimg { display:flex; align-items:center; justify-content:center; background:#f1f5f9; color:#0f172a; }
        .fbm-mr-hero-body { flex:1; min-width:0; }
        .fbm-mr-hero-tier { font-size:11px; letter-spacing:.08em; color:#6b7280; text-transform:uppercase; font-weight:700; margin-bottom:4px; }
        .fbm-mr-hero-name { margin:0 0 8px; font-size:20px; font-weight:600; }
        .fbm-mr-hero-dates { margin:0 0 4px; font-size:14px; color:#374151; }
        .fbm-mr-hero-days { margin:0; font-size:13px; color:#6b7280; }
        .fbm-mr-card h3 { margin:0 0 12px; font-size:14px; color:#6b7280; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
        .fbm-mr-checks { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
        .fbm-mr-checks li { padding-left:24px; position:relative; font-size:14px; }
        .fbm-mr-checks li::before { content:'✓'; position:absolute; left:0; color:#16a34a; font-weight:700; }
        /* ───────── Payment CTA banner (status=submitted only) ─────────
         * Dark-navy background, amber accent stripe on the left, blue CTA button.
         * Replaces the previous in-page method picker (now lives in the modal).
         */
        .fbm-d-cta-banner { display:flex; align-items:center; gap:18px; padding:20px 22px; background:var(--fbm-bg-dark,#0F172A); color:#fff; border-radius:12px; position:relative; overflow:hidden; box-shadow:0 4px 18px rgba(15,23,42,.18); }
        .fbm-d-cta-banner-stripe { position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--fbm-accent,#F59E0B); }
        .fbm-d-cta-banner-text { flex:1; min-width:0; padding-left:6px; }
        .fbm-d-cta-banner-eyebrow { font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--fbm-accent,#F59E0B); margin-bottom:6px; text-transform:uppercase; }
        .fbm-d-cta-banner-body { font-size:14px; line-height:1.5; color:rgba(255,255,255,.85); }
        .fbm-d-cta-banner-body strong { color:#fff; font-weight:600; }
        .fbm-d-cta-banner-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 20px; background:var(--fbm-primary,#0066FF); color:#fff; border:0; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; flex-shrink:0; transition:background .15s, transform .1s; box-shadow:0 2px 8px rgba(0,102,255,.35); }
        .fbm-d-cta-banner-btn:hover { background:var(--fbm-primary-dark,#0050CC); transform:translateY(-1px); }
        @media (max-width:640px){ .fbm-d-cta-banner { flex-direction:column; align-items:flex-start; gap:14px; padding:18px 18px 18px 22px; } .fbm-d-cta-banner-btn { width:100%; justify-content:center; } }

        /* ───────── Modal — shared shell ───────── */
        .fbm-d-modal { position:fixed; inset:0; z-index:99000; display:none; }
        .fbm-d-modal[data-open="1"] { display:block; }
        .fbm-d-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.6); backdrop-filter:blur(2px); }
        .fbm-d-modal-box { position:relative; max-width:560px; margin:5vh auto; max-height:90vh; overflow-y:auto; background:#fff; border-radius:14px; box-shadow:0 20px 50px rgba(15,23,42,.25); padding:28px; }
        @media (max-width:640px){ .fbm-d-modal-box { margin:0; min-height:100vh; max-height:none; border-radius:0; padding:22px 18px; } }
        .fbm-d-modal-close { position:absolute; top:14px; right:14px; width:32px; height:32px; border:0; background:transparent; color:var(--fbm-text-muted,#64748B); cursor:pointer; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:background .15s, color .15s; }
        .fbm-d-modal-close:hover { background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text,#0F172A); }
        .fbm-d-modal-title { margin:0 0 6px; font-size:22px; font-weight:700; color:var(--fbm-text,#0F172A); letter-spacing:-0.01em; }
        .fbm-d-modal-sub { margin:0 0 22px; font-size:14px; color:var(--fbm-text-muted,#64748B); line-height:1.55; }
        .fbm-d-modal-sub strong { color:var(--fbm-text,#0F172A); font-weight:700; }
        body.fbm-d-modal-active { overflow:hidden; }

        /* ───────── Modal state machine ─────────
         * data-pay-state="options" → show options, hide bank panel
         * data-pay-state="bank"    → hide options, show bank panel
         */
        .fbm-d-pay-state { display:none; }
        .fbm-d-modal-box[data-pay-state="options"] .fbm-d-pay-state-options { display:block; }
        .fbm-d-modal-box[data-pay-state="bank"]    .fbm-d-pay-state-bank    { display:block; }

        /* ───────── Method picker (state A) ─────────
         * <button>s wrapped in this class are STYLED AS CARDS — defeat all theme button styles.
         */
        .fbm-d-pay-options { display:flex; flex-direction:column; gap:12px; }
        button.fbm-d-pay-option,
        .fbm-d-pay-option {
            all: unset;
            box-sizing:border-box;
            display:flex; align-items:flex-start; gap:14px;
            width:100%; padding:16px;
            background:#fff !important; color:var(--fbm-text,#0F172A) !important;
            border:1.5px solid var(--fbm-border,#E2E8F0); border-radius:12px;
            cursor:pointer; text-align:left;
            font-family:inherit; font-size:14px; line-height:1.5;
            transition:border-color .15s, background .15s, transform .1s, box-shadow .15s;
        }
        button.fbm-d-pay-option.is-active:hover,
        .fbm-d-pay-option.is-active:hover {
            border-color:var(--fbm-primary,#0066FF) !important;
            background:color-mix(in srgb, var(--fbm-primary,#0066FF) 4%, #fff) !important;
            transform:translateY(-1px);
            box-shadow:0 4px 12px rgba(0,102,255,.10);
        }
        button.fbm-d-pay-option.is-active:focus-visible,
        .fbm-d-pay-option.is-active:focus-visible {
            outline:none;
            border-color:var(--fbm-primary,#0066FF) !important;
            box-shadow:0 0 0 3px color-mix(in srgb, var(--fbm-primary,#0066FF) 25%, transparent);
        }
        .fbm-d-pay-option.is-disabled { opacity:.6; cursor:not-allowed; background:var(--fbm-bg-alt,#F8FAFC) !important; }
        .fbm-d-pay-option-icon { flex-shrink:0; width:38px; height:38px; border-radius:8px; background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text,#0F172A); display:inline-flex; align-items:center; justify-content:center; }
        .fbm-d-pay-option.is-active .fbm-d-pay-option-icon { background:color-mix(in srgb, var(--fbm-primary,#0066FF) 12%, #fff); color:var(--fbm-primary,#0066FF); }
        .fbm-d-pay-option-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
        .fbm-d-pay-option-title { font-size:15px; font-weight:600; color:var(--fbm-text,#0F172A); line-height:1.35; }
        .fbm-d-pay-option.is-disabled .fbm-d-pay-option-title { color:var(--fbm-text-muted,#64748B); }
        .fbm-d-pay-option-sub { font-size:13px; color:var(--fbm-text-muted,#64748B); line-height:1.5; }
        .fbm-d-pay-option-arrow { font-size:18px; color:var(--fbm-primary,#0066FF); align-self:center; padding:0 4px; }
        .fbm-d-pay-cards { display:inline-flex; gap:6px; margin-top:8px; align-items:center; }
        .fbm-d-pay-brand { display:inline-block; padding:2px 6px; border:1px solid var(--fbm-border,#E2E8F0); border-radius:4px; background:#fff; font-size:10px; font-weight:700; letter-spacing:.04em; color:var(--fbm-text-muted,#64748B); font-family:'SF Mono',ui-monospace,Menlo,monospace; }
        .fbm-d-pay-badge { display:inline-block; margin-left:6px; padding:2px 8px; background:var(--fbm-accent,#F59E0B); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; border-radius:999px; vertical-align:2px; }

        /* ───────── Bank details panel (state B) ───────── */
        .fbm-d-pay-back { display:inline-flex; align-items:center; gap:6px; padding:6px 10px 6px 6px; background:transparent; border:0; color:var(--fbm-text-muted,#64748B); cursor:pointer; font-size:13px; font-weight:500; margin:0 0 14px -6px; border-radius:6px; transition:background .15s, color .15s; }
        .fbm-d-pay-back:hover { background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text,#0F172A); }
        .fbm-d-pay-ref { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; padding:12px 14px; background:var(--fbm-warning-bg,#FFFBEB); border:1px solid color-mix(in srgb, var(--fbm-warning,#D97706) 25%, transparent); border-radius:10px; margin:0 0 16px; }
        .fbm-d-pay-ref-label { font-size:12px; font-weight:600; color:var(--fbm-warning,#D97706); }
        .fbm-d-pay-ref-code { font-family:'SF Mono',ui-monospace,Menlo,monospace; font-size:15px; font-weight:700; color:var(--fbm-text,#0F172A); background:#fff; padding:5px 10px; border-radius:6px; border:1px solid color-mix(in srgb, var(--fbm-warning,#D97706) 25%, transparent); letter-spacing:.5px; }
        .fbm-d-pay-table { width:100%; border-collapse:collapse; margin:0 0 16px; }
        .fbm-d-pay-table th { text-align:left; padding:10px 0; font-size:12px; font-weight:500; color:var(--fbm-text-muted,#64748B); border-bottom:1px solid var(--fbm-border,#E2E8F0); width:40%; }
        .fbm-d-pay-table td { padding:10px 0; font-size:13.5px; color:var(--fbm-text,#0F172A); border-bottom:1px solid var(--fbm-border,#E2E8F0); }
        .fbm-d-pay-table tr:last-child th, .fbm-d-pay-table tr:last-child td { border-bottom:0; }
        .fbm-d-pay-table td { display:flex; align-items:center; gap:10px; }
        .fbm-d-pay-val { flex:1; min-width:0; word-break:break-word; }
        .fbm-d-mono { font-family:'SF Mono',ui-monospace,Menlo,monospace; }
        .fbm-d-copy { flex-shrink:0; padding:5px 11px; background:#fff; border:1px solid var(--fbm-border,#E2E8F0); border-radius:6px; font-size:11px; font-weight:600; color:var(--fbm-text-muted,#64748B); cursor:pointer; transition:all .15s; font-family:inherit; }
        .fbm-d-copy:hover { background:var(--fbm-bg-alt,#F8FAFC); border-color:color-mix(in srgb, var(--fbm-primary,#0066FF) 30%, transparent); color:var(--fbm-primary,#0066FF); }
        .fbm-d-copy.is-copied { background:var(--fbm-success-bg,#F0FDF4); border-color:var(--fbm-success-border,#86EFAC); color:var(--fbm-success,#16A34A); }
        .fbm-d-pay-note { margin:0; padding:12px 14px; background:var(--fbm-bg-alt,#F8FAFC); border-radius:8px; font-size:12.5px; line-height:1.55; color:var(--fbm-text-muted,#64748B); }
        .fbm-d-pay-note strong { color:var(--fbm-text,#0F172A); }
        .fbm-d-pay-empty { padding:14px 16px; background:var(--fbm-warning-bg,#FFFBEB); border:1px solid color-mix(in srgb, var(--fbm-warning,#D97706) 25%, transparent); border-radius:8px; color:var(--fbm-warning,#D97706); font-size:13px; line-height:1.55; }
        @media (max-width:640px){
            .fbm-d-pay-table th, .fbm-d-pay-table td { display:block; width:100%; padding:6px 0; }
            .fbm-d-pay-table th { padding-top:12px; text-transform:uppercase; font-size:11px; letter-spacing:.04em; border-bottom:0; }
            .fbm-d-pay-table td { border-bottom:1px solid var(--fbm-border,#E2E8F0); padding-bottom:12px; }
        }
        .fbm-mr-payment-card { padding:28px; }
        .fbm-mr-payment-head { padding-bottom:14px; border-bottom:1px solid #f1f5f9; margin-bottom:14px; }
        .fbm-mr-payment-label { display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#94a3b8; font-weight:700; margin-bottom:6px; }
        .fbm-mr-payment-total { font-size:30px; font-weight:700; color:#0f172a; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
        .fbm-mr-cc { font-size:14px; color:#94a3b8; font-weight:600; margin-left:4px; letter-spacing:.02em; }
        .fbm-mr-payment-received { margin:0 0 14px; font-size:13px; color:#15803d; font-weight:500; }
        .fbm-mr-payment-pending { margin:0 0 14px; font-size:13px; color:#92400e; font-weight:500; }
        .fbm-mr-payment-breakdown { margin:0 0 14px; }
        .fbm-mr-payment-breakdown summary { cursor:pointer; font-size:12px; color:#64748b; padding:6px 0; list-style:none; }
        .fbm-mr-payment-breakdown summary::-webkit-details-marker { display:none; }
        .fbm-mr-payment-breakdown summary::before { content:'▸ '; }
        .fbm-mr-payment-breakdown[open] summary::before { content:'▾ '; }
        .fbm-mr-payment-table { width:100%; border-collapse:collapse; margin-top:6px; font-variant-numeric:tabular-nums; }
        .fbm-mr-payment-table td { padding:5px 0; font-size:13px; color:#475569; }
        .fbm-mr-payment-table td:last-child { text-align:right; }
        .fbm-mr-receipt-btn,
        .fbm-mr-card a.fbm-mr-receipt-btn { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:#0f172a !important; color:#fff !important; border:0; border-radius:8px; font-size:13px; font-weight:600; text-decoration:none !important; box-shadow:none; transition:background .15s; }
        .fbm-mr-receipt-btn:hover,
        .fbm-mr-card a.fbm-mr-receipt-btn:hover { background:#1e293b !important; color:#fff !important; text-decoration:none !important; }
        .fbm-mr-receipt-btn:visited { color:#fff !important; }
        .fbm-mr-receipt-btn svg { flex-shrink:0; }
        /* Clean breakdown — no table, no borders */
        .fbm-mr-breakdown-list { padding:6px 0 0; }
        .fbm-mr-breakdown-row { display:flex; justify-content:space-between; align-items:baseline; padding:6px 0; font-size:13px; color:#475569; font-variant-numeric:tabular-nums; }
        .fbm-mr-breakdown-row span:last-child { color:#0f172a; font-weight:500; }

        /* Inline expansion rows in "What's included" — native <details>, no positioning */
        .fbm-mr-incl { width:100%; }
        .fbm-mr-incl summary { list-style:none; cursor:pointer; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; color:#0f172a; padding:2px 0; }
        .fbm-mr-incl summary::-webkit-details-marker { display:none; }
        .fbm-mr-incl summary::marker { display:none; content:''; }
        .fbm-mr-incl-label { flex:1; min-width:0; }
        .fbm-mr-incl-chev { flex-shrink:0; width:16px; height:16px; line-height:16px; border-radius:50%; background:#e2e8f0; color:#64748b; font-size:11px; font-weight:700; text-align:center; transition:background .15s, color .15s, transform .15s; }
        .fbm-mr-incl-chev::before { content:'▾'; display:inline-block; transition:transform .15s; }
        .fbm-mr-incl summary:hover .fbm-mr-incl-chev { background:#cbd5e1; color:#0f172a; }
        .fbm-mr-incl[open] .fbm-mr-incl-chev { background:#0f172a; color:#fff; }
        .fbm-mr-incl[open] .fbm-mr-incl-chev::before { transform:rotate(180deg); }
        .fbm-mr-incl-body { margin:8px 0 4px; padding:12px 14px; background:#f8fafc; border-left:3px solid #0f172a; border-radius:0 8px 8px 0; font-size:13px; line-height:1.6; color:#475569; }

        /* Map link + address polish */
        .fbm-mr-customer-name { font-size:15px; font-weight:700; color:#0f172a; }
        .fbm-mr-company { font-size:14px; color:#475569; }
        .fbm-mr-address-meta { font-size:13px; color:#64748b; }
        .fbm-mr-map-wrap { margin:16px 0 0; }
        .fbm-mr-map-frame { display:block; width:100%; border:0; border-radius:10px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
        .fbm-mr-map-link { display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:13px; color:#2563eb; text-decoration:none; font-weight:500; }
        .fbm-mr-map-link:hover { color:#1d4ed8; text-decoration:underline; }

        /* Action cards — title + description visible in closed summary */
        /* ───────── Right-column action panel ───────── */
        .fbm-mr-address { margin:0; font-size:14px; line-height:1.7; color:var(--fbm-text,#0F172A); }

        /* Support card — dark navy hero or muted pending state */
        .fbm-mr-support { background:var(--fbm-bg-dark,#0F172A); color:#fff; border-radius:12px; padding:20px; }
        .fbm-mr-support-label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--fbm-accent,#F59E0B); font-weight:700; margin-bottom:8px; }
        .fbm-mr-support-phone { display:block; color:#fff; font-size:22px; font-weight:700; text-decoration:none; padding:6px 0 0; letter-spacing:-0.01em; }
        .fbm-mr-support-phone:hover { color:var(--fbm-accent,#F59E0B); }
        .fbm-mr-support-pending { background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text-muted,#64748B); border:1px solid var(--fbm-border,#E2E8F0); }
        .fbm-mr-support-pending .fbm-mr-support-label { color:var(--fbm-text-muted,#64748B); }
        .fbm-mr-support-pending p { margin:0; font-size:13px; line-height:1.55; }

        /* "Need anything?" section header */
        .fbm-mr-side-title { margin:8px 0 4px; font-size:13px; text-transform:uppercase; color:var(--fbm-text-muted,#64748B); letter-spacing:.08em; font-weight:700; }
        .fbm-mr-side-sub { margin:0 0 6px; font-size:12.5px; color:var(--fbm-text-muted,#64748B); line-height:1.55; }

        /* Action cards — icon + title + desc + chevron, each opens a form */
        .fbm-mr-action { background:#fff; border:1px solid var(--fbm-border,#E2E8F0); border-radius:12px; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
        .fbm-mr-action:hover { border-color:color-mix(in srgb, var(--fbm-primary,#0066FF) 30%, transparent); box-shadow:0 2px 8px rgba(15,23,42,.06); }
        .fbm-mr-action[open] { border-color:var(--fbm-primary,#0066FF); box-shadow:0 4px 14px rgba(0,102,255,.12); }
        .fbm-mr-action summary { padding:14px 16px; cursor:pointer; list-style:none; display:flex; gap:12px; align-items:flex-start; }
        .fbm-mr-action summary::-webkit-details-marker { display:none; }
        .fbm-mr-action-icon { flex-shrink:0; width:34px; height:34px; border-radius:8px; background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text-muted,#64748B); display:inline-flex; align-items:center; justify-content:center; transition:background .15s, color .15s; }
        .fbm-mr-action:hover .fbm-mr-action-icon,
        .fbm-mr-action[open] .fbm-mr-action-icon { background:color-mix(in srgb, var(--fbm-primary,#0066FF) 10%, #fff); color:var(--fbm-primary,#0066FF); }
        .fbm-mr-action-title-wrap { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; }
        .fbm-mr-action-title { font-weight:600; font-size:14px; color:var(--fbm-text,#0F172A); line-height:1.35; }
        .fbm-mr-action-desc-inline { font-size:12.5px; color:var(--fbm-text-muted,#64748B); line-height:1.5; font-weight:400; }
        .fbm-mr-action-arrow { flex-shrink:0; width:24px; height:24px; border-radius:50%; background:var(--fbm-bg-alt,#F8FAFC); color:var(--fbm-text-muted,#64748B); display:inline-flex; align-items:center; justify-content:center; margin-top:2px; transition:transform .2s, background .15s, color .15s; }
        .fbm-mr-action[open] .fbm-mr-action-arrow { transform:rotate(180deg); background:var(--fbm-primary,#0066FF); color:#fff; }
        .fbm-mr-action-body { padding:14px 16px 18px 16px; border-top:1px solid var(--fbm-border,#E2E8F0); }
        .fbm-mr-action-desc { font-size:13px; color:var(--fbm-text-muted,#64748B); margin:12px 0; }
        .fbm-mr-action-form input[type=text],.fbm-mr-action-form input[type=date],.fbm-mr-action-form input[type=email],.fbm-mr-action-form textarea,.fbm-mr-action-form select {
            width:100%; padding:9px 11px; border:1px solid var(--fbm-border,#E2E8F0); border-radius:8px; font-size:14px; margin-bottom:8px; font-family:inherit; color:var(--fbm-text,#0F172A); background:#fff; transition:border-color .15s, box-shadow .15s;
        }
        .fbm-mr-action-form input:focus,.fbm-mr-action-form textarea:focus,.fbm-mr-action-form select:focus { outline:none; border-color:var(--fbm-primary,#0066FF); box-shadow:0 0 0 3px color-mix(in srgb, var(--fbm-primary,#0066FF) 18%, transparent); }
        .fbm-mr-action-form label { display:block; font-size:12px; color:var(--fbm-text-muted,#64748B); margin-bottom:8px; font-weight:500; }
        .fbm-mr-action-form button { background:var(--fbm-primary,#0066FF); color:#fff; border:0; padding:11px 16px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; width:100%; transition:background .15s, transform .1s; box-shadow:0 2px 6px rgba(0,102,255,.25); }
        .fbm-mr-action-form button:hover { background:var(--fbm-primary-dark,#0050CC); transform:translateY(-1px); }
        .fbm-mr-action-form button:disabled { opacity:.6; cursor:not-allowed; transform:none; }
        .fbm-mr-action-msg { margin-top:10px; font-size:13px; line-height:1.5; padding:8px 10px; border-radius:6px; }
        .fbm-mr-action-msg:empty { display:none; }
        .fbm-mr-action-ok { color:var(--fbm-success,#16A34A); background:var(--fbm-success-bg,#F0FDF4); }
        .fbm-mr-action-err { color:var(--fbm-error,#DC2626); background:var(--fbm-error-bg,#FEF2F2); }
        .fbm-mr-action-note { font-size:12px; color:var(--fbm-text-muted,#64748B); margin:4px 0 10px; line-height:1.55; }
        .fbm-mr-signout { text-align:center; margin:40px 0 0; font-size:13px; }
        .fbm-mr-signout a { color:#9ca3af; }
        .fbm-mr-lookup { max-width:440px; margin:80px auto; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:32px 28px; }
        .fbm-mr-lookup h1 { font-size:22px; margin:0 0 8px; font-weight:600; }
        .fbm-mr-lookup label { display:block; margin-bottom:14px; font-size:13px; color:#374151; font-weight:500; }
        .fbm-mr-lookup input { width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; font-size:14px; margin-top:4px; font-family:inherit; }
        .fbm-mr-lookup button { background:#0f172a; color:#fff; border:0; padding:11px 18px; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; width:100%; }
        .fbm-mr-form-msg { margin-top:10px; font-size:13px; }
        .fbm-mr-form-error { color:#dc2626; }
        .fbm-mr-error { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; padding:10px 14px; border-radius:8px; font-size:13px; margin-bottom:14px; }
        @media (max-width:980px) {
            .fbm-mr-grid { grid-template-columns: 1fr; }
            .fbm-mr-side { position:static; }
        }
        @media (max-width:720px) {
            .fbm-mr-wrap { padding:24px 16px 40px; }
            .fbm-mr-header h1 { font-size:22px; }
            .fbm-mr-hero { padding:14px; }
            .fbm-mr-hero-img { width:90px; height:90px; }
            .fbm-mr-hero-name { font-size:17px; }
            .fbm-mr-tl-label { font-size:10px; }
            .fbm-mr-tl-dot { width:10px; height:10px; }
        }
