.loyalty-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start; }
.loyalty-panel { padding:24px; min-width:0; min-height:0; border-radius:14px; }
.loyalty-panel h2 { font-size:22px; margin:0 0 20px; }
.loyalty-panel label { display:grid; gap:8px; margin-bottom:16px; font-size:16px; font-weight:700; }
.loyalty-panel input:not([type=checkbox]),.loyalty-panel select,.loyalty-panel textarea { width:100%; min-width:0; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:white; font:inherit; color:var(--ink); }
.loyalty-panel textarea { min-height:80px; }
.loyalty-panel input:not([type=checkbox]),.loyalty-panel select { height:48px; font-size:16px; }
.loyalty-panel .loyalty-switch { display:flex; align-items:center; gap:10px; min-height:44px; }
.loyalty-switch input { width:20px; height:20px; accent-color:var(--blue); }
.loyalty-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:start; }
.loyalty-fields label { min-width:0; }
.loyalty-picker { position:relative; margin-bottom:16px; }
.loyalty-picker label { margin-bottom:8px; }
.loyalty-picker [role=listbox],.loyalty-picker-empty { position:absolute; inset-inline:0; top:100%; z-index:4; margin:6px 0 0; padding:6px; background:white; border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 22px #1428421a; max-height:260px; overflow:auto; list-style:none; }
.loyalty-picker [role=option] { display:grid; gap:3px; padding:10px 12px; min-height:48px; cursor:pointer; border-radius:6px; overflow-wrap:anywhere; }
.loyalty-picker [role=option] bdi { color:var(--muted); font-size:14px; }
.loyalty-picker [role=option]:hover,.loyalty-picker [role=option].is-active { background:#edf3ff; color:#0057ff; }
.loyalty-picker [aria-selected=true] { box-shadow:inset 0 0 0 1px var(--blue); }
.loyalty-picker [hidden] { display:none; }
.loyalty-picker-empty { padding:12px; }
.loyalty-tier-form { border-block:1px solid var(--line); padding-block:16px; margin-block:16px; }
.loyalty-tier-form label { margin-bottom:8px; }
.loyalty-tier-controls { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:10px; }
.loyalty-tier-controls select { font-family:"Dubai", "Tajawal", sans-serif; font-weight:700; }
.loyalty-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.loyalty-panel button,#adminLoyaltyProgram > button { min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:10px; font:inherit; cursor:pointer; }
.loyalty-panel button:disabled { opacity:.55; cursor:default; }
.loyalty-panel :is(button,input,select,textarea):focus-visible { outline:3px solid #9dbcfb; outline-offset:2px; }
.loyalty-example { padding:12px; background:#edf3ff; color:#0057ff; border-radius:8px; }
.loyalty-balance { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.loyalty-balance strong { font-size:28px; }
.loyalty-notice { min-height:24px; color:#0057ff; }
.loyalty-notice.error,.loyalty-history .negative { color:#a4262c; }
.loyalty-history { list-style:none; padding:0; }
.loyalty-history li { display:grid; grid-template-columns:80px 1fr auto; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); align-items:center; overflow-wrap:anywhere; }
.loyalty-history p { margin:4px 0; }
.loyalty-history .positive { color:#0057ff; }
.loyalty-history time,.loyalty-history small { color:var(--muted); }
@media(max-width:900px) { .loyalty-layout { grid-template-columns:1fr; } }
@media(max-width:600px) { .loyalty-panel { padding:16px; } .loyalty-fields { grid-template-columns:1fr; gap:0; } .loyalty-history li { grid-template-columns:56px minmax(0,1fr); gap:8px; } .loyalty-history time { grid-column:2; } .customer-tabs.settings-tabs { flex-wrap:wrap; } .customer-tabs.settings-tabs [role=tab] { flex:1 1 120px; } }
