.loyal-dash{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin:0 0 14px}
.loyal-dash-card{border:1px solid #ececf2;border-radius:10px;padding:10px 12px;background:var(--surface,#fff)}
.loyal-dash-card span{display:block;font-size:11px;color:#888;letter-spacing:.04em;text-transform:uppercase}
.loyal-dash-card strong{font-size:20px}
.loyal-candidates{border:1px solid #ececf2;border-radius:12px;padding:10px 12px;margin:0 0 12px;display:grid;gap:8px}
.loyal-candidate{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid #f2f2f6;padding:6px 0}
.loyal-candidate:last-child{border-bottom:0}
.loyal-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 14px;flex-wrap:wrap}
.loyal-toolbar p{margin:0;max-width:640px;font-size:13px;color:var(--text-secondary,#666);line-height:1.45}
.loyal-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}
.loyal-inline{display:flex;gap:8px;align-items:center;margin:0 0 10px;font-size:13px}
.loyal-bday{color:#b45309;font-size:11px;font-weight:800;margin-top:2px}
.loyal-bday-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fff7e8;border:1px solid #f59207;font-size:13px}
.loyal-history{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.loyal-history li{border:1px solid #ececf2;border-radius:10px;padding:10px 12px}
.loyal-history p{margin:8px 0 0;font-size:13px;line-height:1.4;white-space:pre-wrap}
.loyal-perk-host{flex-basis:100%;width:100%;margin-top:8px}
.loyal-perk{background:#fff7e8;border:1px solid #f59207;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.4;color:#3a2a10}
#pos-customer-selected,.charger-selected-customer-inner,.checkin-linked-card{flex-wrap:wrap}
.loyal-table-wrap{overflow:auto;border:1px solid var(--border-color,#e7e7ec);border-radius:12px;background:var(--surface,#fff)}
.loyal-table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px}
.loyal-table th{text-align:left;padding:10px 12px;background:#f7f7f9;font-size:11px;letter-spacing:.04em;color:#666}
.loyal-table td{padding:10px 12px;border-top:1px solid #ededf1;vertical-align:top}
.loyal-muted{font-size:12px;color:#888;margin-top:2px}
.loyal-clip{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loyal-pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#e8f7ed;color:#1f7a3a;font-size:11px;font-weight:700}
.loyal-pill.off{background:#eee;color:#777}
.loyal-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:220px}
.loyal-mini,.loyal-btn,.loyal-x{border:1px solid #d8d8e0;background:#fff;border-radius:8px;padding:6px 9px;font-size:12px;cursor:pointer}
.loyal-mini.danger{color:#a11;border-color:#e2bcbc}
.loyal-primary{background:#7440e8;color:#fff;border-color:#7440e8}
.loyal-empty{text-align:center;padding:28px;color:#888}
.loyal-modal-backdrop{position:fixed;inset:0;z-index:120000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.loyal-modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;color:#17171d;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.loyal-modal header,.loyal-modal footer{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #ececf2}
.loyal-modal footer{border-bottom:0;border-top:1px solid #ececf2;justify-content:flex-end;gap:8px}
.loyal-kicker{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#7440e8}
.loyal-modal h3{margin:4px 0 0;font-size:18px}
.loyal-modal-body{padding:16px 18px}
.loyal-help,.loyal-linked{font-size:13px;color:#666;margin:0 0 12px}
.loyal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.loyal-field{display:grid;gap:4px;font-size:11px;font-weight:700}
.loyal-span{grid-column:1/-1}
.loyal-field input,.loyal-field select,.loyal-field textarea{width:100%;box-sizing:border-box;border:1px solid #dddde5;border-radius:8px;padding:9px;font:inherit;font-weight:500}
.loyal-field textarea{min-height:72px}
.loyal-checks{display:grid;gap:8px;margin-top:12px;font-size:13px;font-weight:500}
.loyal-hits{display:grid;gap:6px;margin-top:8px}
.loyal-hit{text-align:left;border:1px solid #ececf2;background:#fafafa;border-radius:8px;padding:8px 10px;cursor:pointer}
.loyal-hit span{display:block;font-size:12px;color:#777;font-weight:500}
.loyal-ok{background:#e8f7ed;color:#1f7a3a;border-radius:8px;padding:8px}
.loyal-follow-modal{width:min(720px,96vw)}
.loyal-order-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto;margin:0 0 12px}
.loyal-order-row{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px;border:1px solid #ececf2;border-radius:8px;font-weight:500;cursor:pointer}
.loyal-order-row:has(input:checked){border-color:#7440e8;background:#f6f2ff}
.loyal-order-row input{margin-top:3px;flex:0 0 auto}
.loyal-order-row span{display:block}
.loyal-follow-preview{margin:0 0 8px}
.loyal-follow-preview img{max-width:100%;max-height:180px;border-radius:8px;object-fit:cover;border:1px solid #ececf2}
#loyalFollowUrl{word-break:break-all}
@media(max-width:700px){.loyal-grid{grid-template-columns:1fr}}
[data-theme="dark"] .loyal-table th,[data-theme="dark"] .loyal-modal header,[data-theme="dark"] .loyal-modal footer{background:#22222a;border-color:#383842}
[data-theme="dark"] .loyal-modal,[data-theme="dark"] .loyal-table-wrap{background:#19191f;color:#eee}
[data-theme="dark"] .loyal-field input,[data-theme="dark"] .loyal-field select,[data-theme="dark"] .loyal-field textarea,[data-theme="dark"] .loyal-mini,[data-theme="dark"] .loyal-btn,[data-theme="dark"] .loyal-x{background:#25252e;color:#fff;border-color:#454550}
[data-theme="dark"] .loyal-dash,
html.dark .loyal-dash,
body.dark .loyal-dash,
.dark .loyal-dash{color:#eee}
[data-theme="dark"] .loyal-dash-card,
html.dark .loyal-dash-card,
body.dark .loyal-dash-card,
.dark .loyal-dash-card{
  background:#19191f;
  border-color:#383842;
  color:#eee
}
[data-theme="dark"] .loyal-dash-card span,
html.dark .loyal-dash-card span,
body.dark .loyal-dash-card span,
.dark .loyal-dash-card span{color:#9a9aa8}
[data-theme="dark"] .loyal-dash-card strong,
html.dark .loyal-dash-card strong,
body.dark .loyal-dash-card strong,
.dark .loyal-dash-card strong{color:#f4f4f8}
[data-theme="dark"] .loyal-candidates,
html.dark .loyal-candidates,
body.dark .loyal-candidates,
.dark .loyal-candidates{background:#19191f;border-color:#383842;color:#eee}
[data-theme="dark"] .loyal-candidate,
html.dark .loyal-candidate,
body.dark .loyal-candidate,
.dark .loyal-candidate{border-color:#2e2e38}
[data-theme="dark"] .loyal-bday-banner,
html.dark .loyal-bday-banner,
body.dark .loyal-bday-banner,
.dark .loyal-bday-banner{background:#2a2110;border-color:#f59207;color:#f8e7c4}
[data-theme="dark"] .loyal-perk,
html.dark .loyal-perk,
body.dark .loyal-perk,
.dark .loyal-perk{background:#2a2110;border-color:#f59207;color:#f8e7c4}
[data-theme="dark"] .loyal-hit,
html.dark .loyal-hit,
body.dark .loyal-hit,
.dark .loyal-hit{background:#25252e;border-color:#454550;color:#eee}
[data-theme="dark"] .loyal-ok,
html.dark .loyal-ok,
body.dark .loyal-ok,
.dark .loyal-ok{background:#16351f;color:#8ee0a8}
[data-theme="dark"] .loyal-help,
[data-theme="dark"] .loyal-linked,
[data-theme="dark"] .loyal-toolbar p,
[data-theme="dark"] .loyal-history li,
html.dark .loyal-help,
html.dark .loyal-linked,
.dark .loyal-help,
.dark .loyal-linked{color:#b5b5c0}
[data-theme="dark"] .loyal-history li,
.dark .loyal-history li,
html.dark .loyal-history li{background:#19191f;border-color:#383842}
.dark .loyal-modal,.dark .loyal-table-wrap{background:#19191f;color:#eee}
.dark .loyal-table th{background:#22222a}
.dark .loyal-field input,.dark .loyal-field select,.dark .loyal-field textarea,.dark .loyal-mini,.dark .loyal-btn,.dark .loyal-x{background:#25252e;color:#fff;border-color:#454550}
