:root{--primary:#1726c9;--secondary:#6335e8;--accent:#ff6258;--brand-orange:#ff9138;--ink:#111849;--muted:#68708f;--cream:#f5f6ff;--surface:#fff;--line:#e2e5f2;--shadow:0 18px 50px rgba(29,38,126,.11);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f8f9ff,#fff 38%,#f7f7ff);color:var(--ink);font-family:Inter,Segoe UI,Tahoma,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:50;background:rgba(249,250,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,229,242,.9)}.brandline{max-width:1440px;margin:auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brandmark{display:flex;align-items:center;gap:10px;font-weight:900}.brandmark img{width:46px;height:46px;object-fit:contain;border-radius:12px}.top-actions{display:flex;align-items:center;gap:8px}.top-actions a{padding:9px 12px;border-radius:12px;font-size:14px;font-weight:700}.top-actions a:hover{background:#fff}.top-actions .lang{background:var(--ink);color:white}.page{max-width:1440px;margin:auto;padding:32px 24px 64px}.footer{text-align:center;padding:28px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}.hero{min-height:540px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;background:radial-gradient(circle at 80% 20%,rgba(255,201,40,.32),transparent 28%),linear-gradient(135deg,#fff9ed,#fff);border:1px solid var(--line);border-radius:36px;padding:56px;box-shadow:var(--shadow);overflow:hidden}.hero h1{font-size:clamp(48px,7vw,100px);line-height:.95;margin:12px 0 18px}.hero h2{font-size:clamp(28px,3vw,46px);margin:0 0 12px}.hero p{font-size:18px;color:var(--muted);max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:var(--secondary)}.hero-actions,.inline-actions,.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero-card{display:flex;flex-direction:column;align-items:center;gap:25px}.hero-logo{width:min(320px,80%);height:180px;object-fit:contain}.mini-card{width:min(390px,100%);min-height:210px;border-radius:28px;padding:28px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:white;box-shadow:0 25px 60px rgba(223,31,38,.28);display:flex;flex-direction:column;justify-content:space-between}.mini-card span,.mini-card small{opacity:.85}.mini-card b{font-size:32px;letter-spacing:.08em}.feature-grid,.metric-grid,.capability-grid,.integration-grid,.reward-cards{display:grid;gap:16px}.feature-grid{grid-template-columns:repeat(4,1fr);margin-top:20px}.feature{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:6px}.feature b{font-size:20px;color:var(--primary)}.feature span{color:var(--muted)}.auth-card{max-width:520px;margin:60px auto;background:white;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.auth-card.wide{max-width:760px}.auth-icon{width:64px;height:64px;border-radius:20px;background:var(--cream);display:grid;place-items:center;font-size:28px}.auth-card h1{font-size:32px;margin-bottom:8px}.auth-card p{color:var(--muted)}.stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.compact{grid-template-columns:repeat(5,1fr);align-items:end}.form-grid .full,.settings-grid .full{grid-column:1/-1}label{display:grid;gap:6px;font-weight:700;font-size:13px}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px 13px;border-radius:12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}textarea{min-height:92px;resize:vertical}.check{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;font-weight:600}.check input{width:auto;margin-top:4px}.btn{border:0;border-radius:13px;padding:11px 16px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 28%,transparent)}.btn.secondary{background:var(--secondary);color:white}.btn.ghost{background:white;border:1px solid var(--line);color:var(--ink)}.btn.whatsapp{background:#19a85b;color:white}.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}.btn.full{width:100%}.otp-input{text-align:center;font-size:28px;letter-spacing:.3em}.alert{padding:14px 16px;border-radius:14px;margin:14px 0}.alert.danger{background:#fff0f0;color:#9d1d1d}.alert.success{background:#ecfff3;color:#176b3b}.secret{display:block;margin:8px 0;padding:10px;background:#102318;color:#bdf4d1;border-radius:10px;word-break:break-all}.member-card{background:radial-gradient(circle at 80% 20%,rgba(255,201,40,.55),transparent 28%),linear-gradient(135deg,var(--primary),var(--secondary));color:white;border-radius:30px;padding:34px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 25px 60px color-mix(in srgb,var(--secondary) 25%,transparent)}.member-card h1{font-size:42px;margin:8px 0}.member-meta{display:flex;gap:18px;flex-wrap:wrap}.points-orb{width:145px;height:145px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;align-content:center}.points-orb b{font-size:42px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:4px}.metric b{font-size:28px}.metric span{font-size:13px;color:var(--muted)}.metric.hot{background:linear-gradient(135deg,#fff0df,#fff8ee);border-color:#ffd0a7}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 28px rgba(74,42,21,.05)}.panel h2{margin-top:0}.panel-head,.page-head,.cashier-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-head{margin-bottom:20px}.page-head h1,.cashier-head h1{font-size:34px;margin:3px 0}.cashier-head{margin-bottom:18px}.line-item,.reward-item,.campaign-row,.otp-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.line-item:last-child,.reward-item:last-child,.campaign-row:last-child,.otp-row:last-child{border-bottom:0}.line-item small,.campaign-row small,.otp-row small,.customer-result p{display:block;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#f3eee9;color:#5b5048;padding:5px 9px;font-size:11px;font-weight:900}.pill.ok{background:#e9fff1;color:#167342}.table-wrap{overflow:auto}.table-wrap.tall{max-height:620px}.audit-wrap{max-height:640px}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:start;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}thead th{position:sticky;top:0;background:#fffaf5;z-index:2;color:var(--muted);font-size:11px;text-transform:uppercase}.plus{color:#168149;font-weight:900}.minus{color:#c52b35;font-weight:900}.reward-list{display:grid}.referral-box code{font-size:28px;font-weight:900;color:var(--secondary);letter-spacing:.08em}.rating-row{display:flex;gap:8px}.rating-row input{display:none}.rating-row span{font-size:34px;color:#d7c8bc;cursor:pointer}.rating-row label:has(input:checked) span{color:var(--accent)}.stars{color:#f5a900}.muted{color:var(--muted)}.text-link{color:var(--secondary);font-weight:800}.admin-shell{display:grid;grid-template-columns:250px 1fr;gap:24px}.sidebar{position:sticky;top:92px;align-self:start;height:calc(100vh - 116px);background:linear-gradient(180deg,#111849,#182272);color:#fff;border-radius:24px;padding:18px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.side-brand{display:flex;align-items:center;gap:10px;padding:8px 6px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.side-brand img{width:42px;height:42px;object-fit:contain;background:white;border-radius:12px;padding:3px}.side-brand small{display:block;color:#cdbeb4}.sidebar nav{display:grid;gap:4px;padding:15px 0;overflow:auto}.sidebar nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;color:#dfd5cf;font-weight:700;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white}.side-foot{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.side-foot a{background:rgba(255,255,255,.08);padding:9px;border-radius:10px;text-align:center;font-size:12px}.admin-main{min-width:0}.admin-mobile-head{display:none}.admin-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.insight{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.insight:last-child{border:0}.insight-dot{width:11px;height:11px;border-radius:50%;background:var(--primary);margin-top:7px;box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 14%,transparent)}.insight p{margin:4px 0;color:var(--muted);font-size:13px}.capability-grid{grid-template-columns:repeat(4,1fr)}.capability-grid span{background:var(--cream);border:1px solid var(--line);padding:13px;border-radius:14px;font-weight:800;text-align:center}.segment-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:12px}.segment-tabs a{white-space:nowrap;background:white;border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.segment-tabs a.active{background:var(--ink);color:white;border-color:var(--ink)}.reward-cards{grid-template-columns:repeat(4,1fr)}.reward-card{padding:16px;border-radius:16px;background:linear-gradient(135deg,#fff8e4,#fff1dc);border:1px solid #ffe0b3;display:flex;flex-direction:column}.campaign-row:hover{color:var(--secondary)}.integration-grid{grid-template-columns:repeat(3,1fr)}.integration-card{min-height:250px}.integration-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;display:grid;place-items:center;font-weight:900;font-size:18px}.integration-card code{display:block;margin-top:16px;background:#f4efe9;padding:10px;border-radius:10px;font-size:11px}.staff-editor{display:grid;grid-template-columns:1.2fr 1fr .8fr 1.2fr .7fr 1fr 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.color-grid input{height:48px;padding:4px}.filterbar,.searchbar{display:flex;gap:8px;align-items:center}.filterbar input,.filterbar select,.searchbar input{max-width:260px}.pagination{display:flex;justify-content:center;gap:16px;align-items:center;padding-top:18px}.pagination a{width:34px;height:34px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center}.cashier-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px;margin:18px 0}.customer-result{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;margin-top:12px}.customer-result h3{margin:0}.mini-stats{display:flex;gap:8px;flex-wrap:wrap}.mini-stats span{background:var(--cream);padding:5px 8px;border-radius:8px;font-size:11px;font-weight:800}.qr-link{background:var(--ink);color:white;padding:12px;border-radius:12px}.otp-actions{display:flex;gap:8px}.staff-editor input,.staff-editor select{padding:9px}.settings-grid label{margin-bottom:12px}@media(max-width:1180px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.capability-grid,.reward-cards{grid-template-columns:repeat(3,1fr)}.staff-editor{grid-template-columns:repeat(4,1fr)}.three-col,.integration-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.page{padding:20px 14px 50px}.brandline{padding:0 14px}.top-actions a:not(.lang){display:none}.hero{grid-template-columns:1fr;padding:32px;min-height:auto}.hero-card{display:none}.feature-grid,.metric-grid,.admin-metrics{grid-template-columns:repeat(2,1fr)}.two-col,.cashier-grid,.settings-grid{grid-template-columns:1fr}.three-col,.integration-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:76px;height:auto;z-index:40;border-radius:0;margin:0 -14px;padding:8px 12px}.side-brand,.side-foot{display:none}.sidebar nav{display:flex;overflow:auto;padding:0}.sidebar nav a{white-space:nowrap}.sidebar nav a span{display:inline}.admin-mobile-head{display:flex;justify-content:space-between;padding:10px 0}.form-grid,.form-grid.compact{grid-template-columns:1fr}.capability-grid,.reward-cards{grid-template-columns:repeat(2,1fr)}.staff-editor{grid-template-columns:1fr 1fr}.member-card{padding:22px}.points-orb{width:100px;height:100px}.member-card h1{font-size:30px}}@media(max-width:560px){.feature-grid,.metric-grid,.admin-metrics,.capability-grid,.reward-cards{grid-template-columns:1fr 1fr}.topbar{position:sticky}.brandmark span{display:none}.hero h1{font-size:48px}.hero h2{font-size:28px}.member-card{align-items:flex-start}.member-meta{display:grid;gap:5px}.points-orb{width:84px;height:84px}.points-orb b{font-size:28px}.staff-editor{grid-template-columns:1fr}.filterbar,.searchbar{align-items:stretch;flex-direction:column}.filterbar input,.filterbar select,.searchbar input{max-width:none}.sidebar nav a span{display:none}.sidebar nav a{font-size:18px}.color-grid{grid-template-columns:1fr 1fr 1fr}}
.integration-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* ===== V6 Growth OS ===== */
.support-return,.return-platform{background:#6d4df4!important;color:#fff!important}.support-banner{margin-bottom:16px;padding:12px 16px;border-radius:14px;background:#f0ecff;border:1px solid #d9d0ff;color:#4f36a8;font-weight:800}.support-banner a{text-decoration:underline}.locked-link{opacity:.58}.locked-link em{margin-inline-start:auto;font-style:normal;font-size:11px}.status-badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status-active{background:#e7fff1;color:#11733f}.status-trial{background:#fff5d6;color:#8a5a00}.status-suspended{background:#fff0f0;color:#a9222b}.status-expired{background:#f1f1f1;color:#6f6660}.danger-pill{background:#fff0f0!important;color:#b51e2a!important}

/* Platform Admin */
.platform-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:30px;background:linear-gradient(135deg,#21160f,#4f2b16);color:#fff;box-shadow:var(--shadow);margin-bottom:18px}.platform-hero h1{font-size:42px;margin:6px 0}.platform-hero p{margin:0;color:#e5d9d0}.platform-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.platform-layout{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(0,1.7fr);gap:18px;align-items:start}.platform-create{position:sticky;top:94px}.platform-list{min-width:0}.platform-filter{margin:10px 0 16px;flex-wrap:wrap}.tenant-stack{display:grid;gap:10px}.tenant-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.tenant-card summary{list-style:none;cursor:pointer;padding:16px;display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(230px,1fr) auto;align-items:center;gap:14px}.tenant-card summary::-webkit-details-marker{display:none}.tenant-card[open] summary{background:#fff9f2;border-bottom:1px solid var(--line)}.tenant-identity{display:flex;align-items:center;gap:12px}.tenant-identity img{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:3px;border:1px solid var(--line)}.tenant-identity small{display:block;color:var(--muted)}.tenant-kpis{display:flex;gap:8px;flex-wrap:wrap}.tenant-kpis span{background:var(--cream);padding:5px 8px;border-radius:9px;font-size:11px;font-weight:800}.tenant-body{padding:18px}.tenant-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.tenant-meta span{padding:10px;border-radius:12px;background:#faf6f2;color:var(--muted);font-size:12px}.tenant-meta b{display:block;color:var(--ink);margin-bottom:2px}.platform-edit{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.platform-actions form.inline{flex:1}.platform-actions form.inline input{min-width:200px}

/* Onboarding */
.onboarding-shell{max-width:1120px;margin:28px auto;display:grid;grid-template-columns:.75fr 1.35fr;min-height:650px;background:#fff;border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.onboarding-side{padding:46px;background:radial-gradient(circle at 25% 15%,rgba(255,201,40,.35),transparent 25%),linear-gradient(150deg,#24170f,#592d13);color:#fff}.onboarding-side img{width:90px;height:90px;object-fit:contain;background:#fff;border-radius:22px;padding:7px;margin-bottom:34px}.onboarding-side h1{font-size:44px;line-height:1.05;margin:12px 0}.onboarding-side p{color:#e2d3c9}.wizard-progress{height:7px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden;margin-top:42px}.wizard-progress i{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--accent),var(--primary));transition:.25s}.wizard-count{margin-top:10px;font-weight:900}.onboarding-form{padding:48px;display:flex;flex-direction:column}.wizard-step{display:none;animation:fadeStep .2s ease}.wizard-step.active{display:block}.wizard-step h2{font-size:34px;margin:8px 0 28px}.wizard-actions{margin-top:auto;display:flex;gap:10px;justify-content:flex-end;padding-top:30px}.wizard-finish{display:none}.setup-tip,.ready-card{margin-top:18px;padding:16px;border-radius:14px;background:#fff7e8;border:1px solid #ffe0ad;color:#6d4a19}.ready-card{background:#ecfff3;border-color:#bfefd0;color:#176b3b;font-weight:900}@keyframes fadeStep{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Rating / NPS */
.feedback-panel{position:relative;overflow:hidden}.feedback-panel:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,transparent);top:-100px;inset-inline-end:-70px}.feedback-head{display:flex;align-items:center;justify-content:space-between;position:relative}.feedback-badge{background:var(--ink);color:#fff;border-radius:999px;padding:5px 10px;font-weight:900;font-size:11px}.rating-control{padding:18px;border-radius:18px;background:#fffaf3;border:1px solid #f2e4d4}.rating-row{display:flex;gap:12px;direction:ltr;align-items:flex-start}.star-choice{display:grid;justify-items:center;gap:3px;cursor:pointer}.star-choice input{position:absolute;opacity:0;pointer-events:none}.star-option{font-size:42px;line-height:1;color:#d9cec5;filter:drop-shadow(0 4px 6px rgba(0,0,0,.04));transition:.15s transform,.15s color}.star-choice small{font-size:11px;color:var(--muted);font-weight:900}.star-choice:hover .star-option{transform:scale(1.12)}.star-choice.is-active .star-option{color:#ffb400;transform:scale(1.07)}.star-choice.is-active small{color:#8d5d00}.rating-selected{margin-top:12px;display:inline-flex;padding:8px 12px;border-radius:10px;background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:900}.rating-selected[data-value="1"],.rating-selected[data-value="2"]{background:#fff0f0;color:#a9222b;border-color:#ffd0d0}.rating-selected[data-value="4"],.rating-selected[data-value="5"]{background:#edfff4;color:#136e3d;border-color:#c8f0d7}.nps-block{padding-top:8px}.nps-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.nps-head small{color:var(--muted)}.nps-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:5px;direction:ltr}.nps-scale label{cursor:pointer}.nps-scale input{display:none}.nps-scale span{height:36px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:#fff;font-weight:900;color:var(--muted)}.nps-scale label:hover span,.nps-scale label.selected span{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Guest recovery */
.recovery-panel{border:1px solid #ffd5d5;background:linear-gradient(180deg,#fff,#fffafa)}.recovery-case{display:grid;grid-template-columns:90px 1fr minmax(300px,.9fr);gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.recovery-score{width:78px;height:78px;border-radius:20px;background:#fff0f0;color:#a9222b;display:grid;place-items:center;align-content:center}.recovery-score b{font-size:24px}.recovery-score span{font-size:10px}.recovery-body h3{margin:0}.recovery-body p{margin:4px 0;color:var(--muted)}.recovery-form{display:grid;grid-template-columns:.55fr 1fr auto;gap:8px}.empty-state{padding:26px;border-radius:16px;background:#ecfff3;color:#176b3b;text-align:center;font-weight:900}

/* Growth Lab */
.growth-metrics{grid-template-columns:repeat(4,1fr)}.growth-opportunities{margin:18px 0}.opportunity-card{position:relative;min-height:210px;padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fff,#fff8ee);box-shadow:0 8px 28px rgba(74,42,21,.05);overflow:hidden}.opportunity-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ink);color:#fff;font-size:21px;margin-bottom:16px}.opportunity-card b{display:block;font-size:20px}.opportunity-card p{color:var(--muted);max-width:88%}.opportunity-card strong{position:absolute;inset-inline-end:18px;bottom:12px;font-size:50px;color:color-mix(in srgb,var(--primary) 28%,transparent)}.opportunity-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.profit-number{font-size:46px;font-weight:950;color:var(--secondary)}

/* Subscription panel */
.subscription-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px;border-radius:16px;background:linear-gradient(135deg,#24170f,#573017);color:#fff;margin-bottom:12px}.subscription-card b{font-size:24px}.subscription-card span{margin-inline-start:auto}.subscription-card small{width:100%;opacity:.7}.plan-features{display:flex;gap:7px;flex-wrap:wrap}.plan-features span{padding:6px 9px;border-radius:9px;background:#f7f1eb;font-size:11px;font-weight:800}

@media(max-width:1180px){.platform-metrics{grid-template-columns:repeat(3,1fr)}.platform-layout{grid-template-columns:1fr}.platform-create{position:static}.tenant-meta,.platform-edit{grid-template-columns:repeat(2,1fr)}.recovery-case{grid-template-columns:80px 1fr}.recovery-form{grid-column:1/-1}.onboarding-shell{grid-template-columns:1fr}.onboarding-side{padding:28px}.onboarding-side h1{font-size:34px}.onboarding-form{padding:32px}}
@media(max-width:720px){.platform-metrics,.growth-metrics{grid-template-columns:repeat(2,1fr)}.tenant-card summary{grid-template-columns:1fr auto}.tenant-kpis{grid-column:1/-1}.tenant-meta,.platform-edit{grid-template-columns:1fr}.platform-actions form.inline{width:100%}.onboarding-shell{border-radius:22px;margin:10px auto}.onboarding-form{padding:24px}.rating-row{gap:6px;justify-content:space-between}.star-option{font-size:36px}.nps-scale{grid-template-columns:repeat(6,1fr)}.recovery-case{grid-template-columns:1fr}.recovery-score{width:100%;height:auto;display:flex;gap:8px;padding:10px}.recovery-form{grid-template-columns:1fr}.nps-head{display:grid}.platform-hero{align-items:flex-start;flex-direction:column}.platform-hero h1{font-size:34px}}
.security-warning{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;padding:14px 18px;border-radius:16px;background:#fff6da;border:1px solid #f1d587;color:#725300}.security-warning>div{display:flex;gap:8px;flex-wrap:wrap}.security-warning span{background:#fff;padding:4px 8px;border-radius:8px;font-size:12px}

/* Rewaa pilot connector */
.integration-title-row{display:flex;align-items:center;gap:10px;justify-content:space-between}.rewaa-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.page-head.compact{margin-bottom:10px}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 16px}.table-scroll{overflow:auto;max-height:560px;border:1px solid var(--border,#eadfd2);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:980px}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--border,#eadfd2);vertical-align:top}.data-table thead th{position:sticky;top:0;background:var(--surface,#fff);z-index:1}.raw-preview{white-space:pre-wrap;word-break:break-word;max-width:520px;max-height:220px;overflow:auto;font-size:11px;direction:ltr;text-align:left;background:#17120f;color:#fff7e8;padding:10px;border-radius:10px}.ltr{direction:ltr;text-align:left}

/* V6.2 Rewaa claim flow */
.claim-panel{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));background:linear-gradient(145deg,#fff,#fffaf3);overflow:hidden;position:relative}.claim-panel:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);inset-inline-end:-110px;top:-130px}.claim-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;position:relative}.claim-head h2{margin:4px 0 7px}.claim-head p{margin:0;color:var(--muted);max-width:760px}.claim-window{display:grid;place-items:center;min-width:66px;height:66px;border-radius:20px;background:var(--ink);color:white;font-weight:950}.claim-form{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:end;margin-top:18px;position:relative}.claim-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.claim-notes span{font-size:12px;font-weight:800;background:#f7f2ec;border-radius:999px;padding:6px 9px}.scanner-box{margin-top:16px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#16110e;padding:12px;position:relative;text-align:center;color:white}.scanner-box video{width:100%;max-height:360px;object-fit:cover;border-radius:14px;background:#000}.scanner-box p{margin:8px;color:#e8ded6}.scan-line{position:absolute;left:10%;right:10%;top:48%;height:2px;background:#ff3a2f;box-shadow:0 0 12px #ff3a2f;z-index:2}.rewaa-monitor{margin:18px 0}.rewaa-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.rewaa-status-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 0;color:var(--muted);font-size:13px}.mapping-list{display:grid;gap:10px}.mapping-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;border-top:1px solid var(--line);padding-top:12px}.mapping-row small{display:block;color:var(--muted)}
@media(max-width:860px){.claim-form{grid-template-columns:1fr}.rewaa-metrics{grid-template-columns:repeat(2,1fr)}.mapping-row{grid-template-columns:1fr}.claim-head{align-items:flex-start}.claim-window{min-width:58px;height:58px}}

/* V6.3 — Rewaa claim UX + Team ratings + Customer Voice */
.claim-window{display:flex!important;flex-direction:column;line-height:1.05}.claim-window b{font-size:22px}.claim-window small{font-size:10px;opacity:.78}.claim-window-copy{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:750}.claim-success-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:18px;border-radius:20px;margin:16px 0;background:linear-gradient(135deg,#eafff1,#fff);border:1px solid #bfe9cf;box-shadow:0 12px 30px rgba(22,109,59,.08)}.claim-success-icon{width:52px;height:52px;border-radius:16px;background:#16844a;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:950}.claim-success-main h3{margin:3px 0 10px;font-size:18px;color:#176b3b}.claim-success-kpis{display:flex;gap:8px;flex-wrap:wrap}.claim-success-kpis span{background:#fff;border:1px solid #ccead8;border-radius:12px;padding:7px 10px;font-size:12px}.item-chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.item-chips span{background:#fff8ee;border:1px solid #f1dfc9;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.duplicate-alert{border:1px solid #f3bcbc;font-weight:800}.scanner-toolbar{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 10px}.scanner-toolbar>div{display:flex;gap:6px}.scanner-stage{position:relative;min-height:250px;background:#000;border-radius:16px;overflow:hidden;display:grid;place-items:center}.scanner-stage video,.scanner-stage [data-rewaa-fallback-reader]{width:100%;min-height:250px;max-height:420px;object-fit:cover}.scanner-stage [data-rewaa-fallback-reader] video{width:100%!important}.scan-frame{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(82%,420px);height:125px;border:2px solid rgba(255,255,255,.9);border-radius:15px;z-index:3;pointer-events:none}.scan-frame:before,.scan-frame:after,.scan-frame i:before,.scan-frame i:after{content:"";position:absolute;width:26px;height:26px;border-color:#ffbd21;border-style:solid}.scan-frame:before{left:-3px;top:-3px;border-width:4px 0 0 4px;border-radius:12px 0 0 0}.scan-frame:after{right:-3px;top:-3px;border-width:4px 4px 0 0;border-radius:0 12px 0 0}.scan-frame i:before{left:-3px;bottom:-3px;border-width:0 0 4px 4px;border-radius:0 0 0 12px}.scan-frame i:after{right:-3px;bottom:-3px;border-width:0 4px 4px 0;border-radius:0 0 12px 0}.scan-line{animation:scanMove 1.6s ease-in-out infinite}@keyframes scanMove{0%,100%{top:35%}50%{top:63%}}.scan-btn{white-space:nowrap}
.cashier-claim-qr{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,#fffaf1,#fff);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));margin-bottom:18px}.cashier-claim-copy h2{margin:4px 0}.cashier-claim-copy p{max-width:760px;color:var(--muted)}.cashier-qr-box{width:164px;text-align:center;background:#fff;padding:10px;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.06)}.cashier-qr-box img{width:142px;height:142px;object-fit:contain}.cashier-qr-box small{font-weight:900}.experience-grid{align-items:start}.staff-rating-panel{background:linear-gradient(145deg,#fff,#fff7e7)}.staff-rating-icon,.voice-icon{width:44px;height:44px;border-radius:14px;background:var(--cream);display:grid;place-items:center;font-size:22px}.voice-panel{background:linear-gradient(145deg,#fff,#fffaf5)}.voice-kind{display:grid;grid-template-columns:1fr 1fr;gap:8px}.voice-kind label{cursor:pointer}.voice-kind input{display:none}.voice-kind span{display:flex;justify-content:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:900}.voice-kind label.selected span{background:var(--ink);border-color:var(--ink);color:white}.metric-grid.five{grid-template-columns:repeat(5,1fr)}.staff-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.staff-score-card{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.staff-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:950}.staff-score-card .stars{color:#ffb400;letter-spacing:1px}.voice-admin-list{display:grid;gap:12px}.voice-ticket{border:1px solid var(--line);border-radius:18px;padding:15px;background:#fff}.voice-ticket.complaint{border-inline-start:4px solid var(--secondary)}.voice-ticket.suggestion{border-inline-start:4px solid #2e9d62}.voice-ticket-head,.voice-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:space-between}.voice-ticket-head>div{display:flex;gap:8px;align-items:center}.voice-ticket p{white-space:pre-wrap}.voice-meta{justify-content:flex-start;color:var(--muted);font-size:12px;margin:10px 0}.voice-admin-form{display:grid;grid-template-columns:160px 1fr auto;gap:8px}.rewaa-metrics.six{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1100px){.metric-grid.five{grid-template-columns:repeat(3,1fr)}.staff-score-grid{grid-template-columns:repeat(2,1fr)}.rewaa-metrics.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.cashier-claim-qr{grid-template-columns:1fr;text-align:center}.cashier-qr-box{margin:auto}.claim-success-card{grid-template-columns:1fr}.claim-success-icon{width:42px;height:42px}.scanner-box{padding:8px;margin-left:-4px;margin-right:-4px}.scanner-stage{min-height:310px}.scanner-stage video,.scanner-stage [data-rewaa-fallback-reader]{min-height:310px}.scan-frame{height:110px}.staff-score-grid{grid-template-columns:1fr}.voice-admin-form{grid-template-columns:1fr}.metric-grid.five,.rewaa-metrics.six{grid-template-columns:repeat(2,1fr)}.voice-kind{grid-template-columns:1fr 1fr}}
/* V6.4 — self-service POS connection */
.pos-connect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-connect{position:relative}.credential-form{display:grid;gap:10px;margin:14px 0}.credential-form label{display:grid;gap:6px;font-size:12px;font-weight:900}.credential-form input{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink)}.provider-actions{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}.btn.danger.ghost{border-color:#efb9b9;color:#a92323;background:#fff8f8}.provider-connect small{display:block;color:var(--muted);margin-top:8px}
@media(max-width:900px){.pos-connect-grid{grid-template-columns:1fr}}
/* V6.4.1 customer voice reply tracking */
.voice-history{display:grid;gap:10px;margin:14px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.voice-history-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.voice-thread{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.025)}
.voice-thread.complaint{border-inline-start:4px solid var(--secondary)}
.voice-thread.suggestion{border-inline-start:4px solid #2e9d62}
.voice-thread-head{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap}
.voice-thread-head>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.voice-customer-message{white-space:pre-wrap;margin:10px 0}
.voice-admin-reply{margin-top:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#f0fff7,#fff);border:1px solid #bce8cf}
.voice-admin-reply .reply-label{font-weight:950;color:#167347;margin-bottom:5px}
.voice-admin-reply p{white-space:pre-wrap;margin:0 0 5px}
.voice-admin-reply small{color:var(--muted)}
.voice-awaiting{margin-top:10px;padding:9px 11px;border-radius:12px;background:#fff8e8;color:#8a6110;font-weight:800;font-size:13px}
.status-new{background:#f1f1f1}.status-in_progress{background:#fff1c7;color:#76520b}.status-resolved{background:#e7f8ee;color:#176f42}
.voice-new-form{margin-top:10px}
.admin-reply-field{display:grid;gap:3px}.admin-reply-field small{font-size:11px;color:var(--muted)}
@media(max-width:720px){.voice-thread-head{align-items:flex-start}.voice-history{margin-inline:-2px}.voice-admin-reply{padding:11px}}
/* V6.4.2 — two-way customer care ticket conversations */
.ticket-chat{display:grid;gap:8px;margin:12px 0;padding:12px;border-radius:16px;background:#faf7f3;border:1px solid #eee2d7;max-height:420px;overflow:auto}.ticket-message{max-width:min(82%,680px);padding:10px 12px;border-radius:15px;box-shadow:0 4px 12px rgba(0,0,0,.035)}.ticket-message.customer{justify-self:end;background:linear-gradient(135deg,#fff0df,#fff);border:1px solid #f2d1ad}.ticket-message.staff{justify-self:start;background:linear-gradient(135deg,#edfdf4,#fff);border:1px solid #bfe8d0}.ticket-message-label{font-size:11px;font-weight:950;color:var(--muted);margin-bottom:3px}.ticket-message p{white-space:pre-wrap;margin:0 0 5px}.ticket-message small{color:var(--muted);font-size:10px}.ticket-reply-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:10px}.ticket-reply-form textarea{min-height:68px}.ticket-close-form{margin-top:8px}.voice-awaiting.customer-turn{background:#edf8ff;color:#235f7c}.status-awaiting_admin{background:#ffe7e7;color:#962d2d}.status-awaiting_customer{background:#eaf5ff;color:#256285}.status-closed{background:#eee;color:#555}.resolution-score{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border-radius:13px;background:#f5fff8;border:1px solid #ccebd7}.resolution-score small{width:100%;color:var(--muted)}.resolution-rating-form{display:grid;gap:8px;margin-top:10px;padding:11px;border:1px dashed var(--line);border-radius:14px;background:#fff}.rating-row.compact{max-width:330px}.new-ticket-title{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.conversation-reply{grid-template-columns:1fr}.conversation-reply textarea{min-height:82px}.ticket-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-chat{max-height:360px}.admin-resolution{margin-bottom:9px}
@media(max-width:720px){.ticket-message{max-width:92%}.ticket-reply-form{grid-template-columns:1fr}.ticket-admin-actions{display:grid;grid-template-columns:1fr}.ticket-admin-actions .btn{width:100%}}
.voice-new-reply-alert{display:block;margin:14px 0;background:#eefbf3;border:1px solid #bfe7ce;color:#156b3c;font-weight:900;text-align:center}

/* Loyvia V6.5 brand system */
.loyvia-header-logo{width:150px!important;height:44px!important;border-radius:0!important;object-fit:contain!important}.loyvia-view .brandmark{min-width:160px}.footer{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;color:#68708f}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand img{width:24px;height:24px;object-fit:contain}.footer b{color:#111849}.platform-brand{display:flex;align-items:center;gap:20px}.platform-brand img{width:180px;height:64px;object-fit:contain}.platform-hero{background:linear-gradient(135deg,#f2f4ff,#fff 58%,#fff4f0);border:1px solid var(--line)}
.loyvia-hero{min-height:620px;display:grid;grid-template-columns:1.18fr .82fr;gap:42px;align-items:center;padding:64px;border:1px solid var(--line);border-radius:38px;background:radial-gradient(circle at 82% 22%,rgba(255,98,88,.18),transparent 25%),radial-gradient(circle at 70% 68%,rgba(99,53,232,.15),transparent 28%),linear-gradient(135deg,#f4f6ff,#fff);box-shadow:var(--shadow);overflow:hidden}.landing-logo{width:min(480px,90%);height:120px;object-fit:contain;object-position:left center;margin:16px 0 4px}.loyvia-hero-copy h1{font-size:clamp(42px,5vw,78px);line-height:1.02;margin:12px 0 18px;max-width:820px}.loyvia-hero-copy p{font-size:19px;color:var(--muted);max-width:740px}.sales-contact{display:block;margin-top:16px;color:var(--muted)}.sales-contact a{color:var(--primary);font-weight:900}.loyvia-orbit{position:relative;min-height:430px;display:grid;place-items:center}.loyvia-orbit:before,.loyvia-orbit:after{content:"";position:absolute;border:1px dashed rgba(23,38,201,.25);border-radius:50%}.loyvia-orbit:before{width:330px;height:330px}.loyvia-orbit:after{width:240px;height:240px}.orbit-card{position:absolute;z-index:2;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(29,38,126,.12);border-radius:18px;padding:16px 20px;font-weight:900;color:var(--primary)}.orbit-card.main{position:relative;width:180px;height:180px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;border:0}.orbit-card.main b{font-size:46px}.orbit-card.main span{font-size:12px;opacity:.9}.orbit-card.o1{top:38px;left:30px}.orbit-card.o2{top:60px;right:8px}.orbit-card.o3{bottom:55px;left:0}.orbit-card.o4{bottom:38px;right:28px;color:var(--accent)}
.live-proof,.public-section,.restaurant-strip{margin-top:30px}.live-proof,.public-section{padding:38px;border-radius:30px;background:#fff;border:1px solid var(--line)}.section-head{max-width:820px;margin-bottom:24px}.section-head.compact{margin-bottom:14px}.section-head h2{font-size:clamp(30px,3vw,46px);margin:5px 0 8px}.section-head p{color:var(--muted);margin:0}.public-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.public-metric{min-height:150px;padding:24px;border-radius:22px;background:linear-gradient(145deg,#f7f8ff,#fff);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.public-metric b{font-size:40px;color:var(--primary);line-height:1}.public-metric b small{font-size:14px;color:var(--muted)}.public-metric>span{margin-top:10px;color:var(--muted);font-weight:700}
.restaurant-strip{padding:28px 0}.logo-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.logo-track{width:max-content;display:flex;gap:16px;animation:loyvia-marquee 34s linear infinite}.logo-marquee:hover .logo-track{animation-play-state:paused}.restaurant-logo{width:190px;height:112px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;padding:12px;box-shadow:0 8px 20px rgba(29,38,126,.05)}.restaurant-logo img{max-width:125px;max-height:55px;object-fit:contain}.restaurant-logo span{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}@keyframes loyvia-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.public-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.public-feature-grid article{border:1px solid var(--line);border-radius:22px;padding:24px;background:linear-gradient(145deg,#fff,#f8f8ff)}.public-feature-grid i{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900;margin-bottom:18px}.public-feature-grid b{font-size:19px}.public-feature-grid p{color:var(--muted);font-size:14px}.pos-section{margin-top:30px;padding:46px;border-radius:30px;color:#fff;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:30px;background:radial-gradient(circle at 90% 10%,rgba(255,145,56,.38),transparent 25%),linear-gradient(135deg,#10184c,#1726c9 60%,#6335e8)}.pos-section h2{font-size:clamp(30px,3vw,46px);margin:6px 0}.pos-section p{color:#e4e7ff;max-width:800px}.pos-section .eyebrow{color:#ffb278}.pos-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.pos-badges span{padding:14px 18px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);border-radius:16px;font-weight:900;letter-spacing:.08em}
.public-plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}.public-plan{position:relative;border:1px solid var(--line);border-radius:24px;padding:25px;background:#fff;display:flex;flex-direction:column}.public-plan.featured{border:2px solid var(--primary);box-shadow:0 18px 45px rgba(23,38,201,.13);transform:translateY(-5px)}.popular{position:absolute;top:-12px;right:18px;background:linear-gradient(135deg,var(--accent),var(--brand-orange));color:#fff;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:900}.plan-name{font-weight:900;color:var(--secondary);text-transform:uppercase;letter-spacing:.08em}.public-plan h3{font-size:22px;margin:10px 0}.public-plan h3 b{font-size:38px;color:var(--ink)}.public-plan h3 small{font-size:12px;color:var(--muted)}.public-plan p{color:var(--muted);min-height:60px}.plan-offer{background:#eef0ff;color:#2634c8;border-radius:12px;padding:10px;font-size:12px;font-weight:900;margin-bottom:12px}.public-plan ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;flex:1}.public-plan li{font-size:13px;color:#4f5776}.sales-cta{margin-top:30px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:30px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#fff4f0,#fff,#f3f4ff)}.sales-cta img{width:76px;height:76px;object-fit:contain}.sales-cta h2{margin:2px 0}.sales-cta p{margin:0;color:var(--muted)}
.plan-manager{margin:22px 0}.plan-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px}.plan-admin-card{border:1px solid var(--line);border-radius:22px;padding:20px;background:#fbfbff}.plan-admin-card.featured{border-color:#9aa4ff;box-shadow:0 12px 32px rgba(23,38,201,.08)}.plan-admin-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}.plan-number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.feature-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.feature-check{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff}.feature-check input{width:auto;margin-top:4px}.feature-check span{font-weight:800;font-size:12px}.feature-check small{display:block;color:var(--muted);font-weight:500}.commercial-settings{margin-top:22px}.auth-brand-logo{width:260px;height:85px;object-fit:contain;margin:auto}.platform-login{text-align:center}.platform-login small{display:block;margin-top:16px;color:var(--muted)}
.tenant-view .footer{background:rgba(255,255,255,.8)}.tenant-view .footer-brand span{display:none}.tenant-view .footer-brand img{display:none}
@media(max-width:1100px){.loyvia-hero{grid-template-columns:1fr}.loyvia-orbit{display:none}.public-plan-grid,.public-feature-grid{grid-template-columns:repeat(2,1fr)}.plan-admin-grid{grid-template-columns:1fr}.plan-number-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.loyvia-hero{padding:34px 24px;min-height:auto}.landing-logo{height:90px}.live-proof,.public-section,.pos-section{padding:26px 20px}.public-metrics{grid-template-columns:1fr 1fr}.pos-section{grid-template-columns:1fr}.public-plan-grid,.public-feature-grid{grid-template-columns:1fr}.sales-cta{grid-template-columns:1fr;text-align:center}.sales-cta img{margin:auto}.plan-number-grid,.feature-checklist{grid-template-columns:1fr 1fr}.platform-brand img{width:130px}}
@media(max-width:520px){.public-metrics{grid-template-columns:1fr 1fr}.public-metric{min-height:120px;padding:16px}.public-metric b{font-size:30px}.plan-number-grid,.feature-checklist{grid-template-columns:1fr}.footer{gap:8px;flex-direction:column}.loyvia-header-logo{width:125px!important}.loyvia-hero-copy h1{font-size:40px}}
.public-plan h3 del{font-size:15px;color:#9aa0b9;margin-inline-end:5px}.promo-ribbon{display:inline-flex;align-self:flex-start;background:#fff0ee;color:#c83b36;border:1px solid #ffd2ce;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;margin:-3px 0 10px}
.restaurant-referral-card{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#f5f6ff,#fff)}.restaurant-referral-card>b,.restaurant-referral-card>small{display:block}.restaurant-referral-card code{display:block;font-size:22px;font-weight:900;color:var(--secondary);letter-spacing:.08em;margin:6px 0}.restaurant-referral-card small{color:var(--muted);margin-bottom:8px}
.reward-edit-card{gap:8px}.reward-edit-card input{padding:8px}.reward-edit-card label{font-size:11px;color:var(--muted)}.reward-edit-card .check{flex-direction:row;align-items:center}

.feature-check.core-feature{background:#eef0ff;border-color:#cbd0ff}.feature-check.core-feature span{color:#2733bd}.feature-check.core-feature input{accent-color:var(--primary)}
/* ===== V6.6 Commercial Launch & Subscription Operations ===== */
.status-grace{background:#fff0dc;color:#9a5200}.subscription-alert{margin:0 0 16px;padding:12px 16px;border-radius:14px;font-weight:800;border:1px solid #f0cf85;background:#fff7df;color:#825500}.subscription-alert.danger{background:#fff0f0;border-color:#ffc4c8;color:#a9222b}.subscription-inline-alert{margin:10px 0;padding:9px 12px;border-radius:12px;background:#fff6da;border:1px solid #f4d37f;color:#815700;font-weight:800;font-size:12px}
.launch-offer{margin-top:24px;padding:28px 34px;border-radius:28px;background:linear-gradient(135deg,#10184c,#1726c9 55%,#6335e8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 18px 45px rgba(23,38,201,.18)}.launch-offer .eyebrow{color:#ffad70}.launch-offer h2{font-size:clamp(28px,3vw,44px);margin:4px 0}.launch-offer p{margin:0;color:#e7e9ff;font-size:17px}.launch-offer p b{color:#ffb278}
.signup-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1180px;margin:20px auto}.signup-intro{padding:42px;border-radius:30px;background:radial-gradient(circle at 90% 10%,rgba(255,98,88,.2),transparent 25%),linear-gradient(145deg,#f1f3ff,#fff);border:1px solid var(--line)}.signup-intro>img{width:320px;height:100px;object-fit:contain;object-position:left}.signup-intro h1{font-size:44px;line-height:1.05}.signup-intro p{color:var(--muted);font-size:17px}.signup-form{padding:32px}.signup-plan-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0}.signup-plan-chip{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;justify-content:space-between;gap:10px}.signup-plan-chip.selected{border:2px solid var(--primary);background:#f3f4ff}.signup-plan-chip span{color:var(--muted);font-size:12px}.quote-card{padding:20px;border-radius:20px;background:#10184c;color:#fff;display:grid;gap:4px}.quote-card>span,.quote-card>small{color:#d8dcff}.quote-card strong{font-size:32px;color:#ffad70}.success-card{max-width:850px;margin:50px auto;padding:50px;text-align:center;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.success-card>img{width:100px;height:100px;object-fit:contain}.success-card h1{font-size:42px}.success-card p{color:var(--muted);font-size:17px}.signup-summary{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.signup-summary span{padding:16px;border:1px solid var(--line);border-radius:16px}.signup-summary b{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.signup-summary code{font-weight:900;color:var(--primary)}
.billing-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.danger-metric{background:#fff4f4!important;border-color:#ffd7da!important}.danger-metric b{color:#b82531!important}.compact-hero{padding:20px 28px}.compact-hero h1{font-size:34px}.subscription-report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.subscription-filter{align-items:end}.subscription-filter label{min-width:150px}.subscription-table-wrap{overflow:auto}.subscription-table{min-width:1350px}.data-table td small{display:block;color:var(--muted);margin-top:4px}.expiry-note{color:#a35b00!important;font-weight:800}.ops-menu{position:relative}.ops-menu summary{cursor:pointer;font-weight:900;color:var(--primary)}.ops-pop{position:absolute;z-index:20;right:0;top:30px;width:320px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 18px 50px rgba(17,24,76,.18);display:grid;gap:14px}.ops-pop form{display:grid;gap:7px;padding-bottom:12px;border-bottom:1px solid var(--line)}.ops-pop form:last-child{border:0}.ops-pop input,.ops-pop select{padding:8px}.invoice-paid{background:#e7fff1;color:#11733f}.invoice-unpaid{background:#fff5d6;color:#8a5a00}.invoice-waived{background:#f1f1f1;color:#686868}
.add-plan-box{margin-top:18px;border:1px dashed #a9b1e9;border-radius:18px;padding:14px;background:#f9faff}.add-plan-box summary{cursor:pointer;font-weight:900;color:var(--primary)}.promo-create{grid-template-columns:repeat(5,1fr)}.promo-list{display:grid;gap:8px;margin-top:18px}.promo-row{display:grid;grid-template-columns:1.1fr 1.4fr 1.4fr .7fr .55fr .65fr .6fr .8fr .8fr .6fr auto auto;gap:7px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fbfbff}.promo-row input,.promo-row select{padding:8px;font-size:12px}.promo-code code{font-size:16px;font-weight:900;color:var(--primary)}.promo-code small{display:block;color:var(--muted)}
.simple-table{display:grid;gap:7px}.simple-table>div{display:grid;grid-template-columns:150px 1.2fr .8fr .8fr 2fr;gap:12px;padding:10px;border-bottom:1px solid var(--line);align-items:center;font-size:12px}.subscription-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.subscription-dates span{padding:10px;border:1px solid var(--line);border-radius:12px}.subscription-dates b{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.referral-dashboard{margin-top:18px}.metric-mini{padding:8px 12px;border-radius:999px;background:#eef0ff;color:#2733bd;font-size:12px}.referral-history{display:grid;gap:7px;margin-top:14px}.referral-history>div{display:grid;grid-template-columns:1.5fr .8fr .8fr .6fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px}.plan-number-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:1100px){.signup-shell{grid-template-columns:1fr}.billing-metrics,.subscription-report-metrics{grid-template-columns:repeat(2,1fr)}.promo-create{grid-template-columns:repeat(2,1fr)}.promo-row{grid-template-columns:1fr 1fr 1fr}.ops-pop{position:fixed;left:5%;right:5%;top:15%;width:90%}.simple-table>div{grid-template-columns:1fr 1fr}.launch-offer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.signup-intro,.signup-form{padding:24px}.signup-intro>img{width:230px}.signup-intro h1{font-size:34px}.signup-plan-list,.signup-summary,.billing-metrics,.subscription-report-metrics,.subscription-dates{grid-template-columns:1fr}.promo-create,.promo-row{grid-template-columns:1fr}.launch-offer{padding:24px}.referral-history>div{grid-template-columns:1fr 1fr}.simple-table>div{grid-template-columns:1fr}}
.ops-pop{
    position:fixed!important;
    z-index:9999!important;
    width:340px;
    max-width:calc(100vw - 24px);
    max-height:calc(100vh - 40px);
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow:0 18px 50px rgba(17,24,76,.18);
}
/* Subscription management drawer */
.ops-menu[open]::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(10,14,45,.32);
    backdrop-filter:blur(2px);
    z-index:9998;
}

.ops-pop{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    right:0!important;
    left:auto!important;

    width:390px;
    max-width:92vw;
    max-height:none!important;
    height:100vh;

    overflow-y:auto!important;
    overscroll-behavior:contain;

    background:#fff;
    border:0;
    border-radius:22px 0 0 22px;
    padding:26px 20px 34px;

    box-shadow:-20px 0 60px rgba(17,24,76,.20);
    z-index:9999!important;

    animation:loyviaDrawerIn .18s ease-out;
}

html[dir="ltr"] .ops-pop{
    right:0!important;
    left:auto!important;
}

.ops-pop::before{
    content:"إدارة الاشتراك";
    display:block;
    font-size:22px;
    font-weight:950;
    color:var(--ink);
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
}

html[dir="ltr"] .ops-pop::before{
    content:"Manage Subscription";
}

.ops-pop form{
    display:grid;
    gap:9px;
    padding:16px 0;
    border-bottom:1px solid var(--line);
}

.ops-pop form:first-of-type{
    padding-top:0;
}

.ops-pop form:last-child{
    border-bottom:0;
}

.ops-pop b{
    font-size:14px;
    color:var(--ink);
}

.ops-pop input,
.ops-pop select{
    padding:10px 11px;
}

.ops-pop .btn{
    width:100%;
}

body.ops-drawer-open{
    overflow:hidden;
}

@keyframes loyviaDrawerIn{
    from{
        transform:translateX(24px);
        opacity:.5;
    }
    to{
        transform:translateX(0);
        opacity:1;
    }
}

@media(max-width:560px){
    .ops-pop{
        width:100vw;
        max-width:100vw;
        border-radius:0;
    }
}

.ops-close{
    position:sticky;
    top:0;
    margin-inline-start:auto;
    margin-bottom:-36px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#f2f3fa;
    color:var(--ink);
    font-size:25px;
    font-weight:900;
    cursor:pointer;
    display:grid;
    place-items:center;
    z-index:10;
}

.ops-close:hover{
    background:#e7e9f5;
}

.ops-title{
    font-size:18px;
    font-weight:950;
    color:var(--ink);
    margin:0 42px 16px 0;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
}

html[dir="ltr"] .ops-title{
    margin:0 0 16px 42px;
}

.ops-pop::before{
    display:none!important;
}

.ops-title{
    font-size:18px;
    font-weight:950;
    color:var(--ink);
    margin:0 44px 18px 0;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
}

html[dir="ltr"] .ops-title{
    margin:0 0 18px 44px;
}

.ops-pop::before{
    display:none!important;
}

/* Customer card tabs */
.customer-tabs{
  display:flex;
  gap:8px;
  margin:20px 0 14px;
  padding:6px;
  overflow-x:auto;
  scrollbar-width:none;
  background:#f5f6fb;
  border:1px solid #e5e8f2;
  border-radius:16px;
}
.customer-tabs::-webkit-scrollbar{display:none}

.customer-tab{
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:11px 16px;
  border-radius:11px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  white-space:nowrap;
  color:#111a64;
}

.customer-tab.active{
  background:#111a64;
  color:#fff;
  box-shadow:0 5px 15px rgba(17,26,100,.18);
}

.card-tab-pane{
  display:none !important;
}

.card-tab-pane.active{
  display:block !important;
}

.experience-grid,
.care-grid{
  display:block !important;
}

@media(max-width:700px){
  .customer-tabs{
    margin:14px -2px 12px;
    border-radius:13px;
  }

  .customer-tab{
    padding:10px 13px;
    font-size:13px;
  }

  .card-tab-pane{
    margin-top:0;
  }
}

/* Cashier tabs */
.cashier-tabs{
  display:flex;
  gap:8px;
  margin:18px 0 14px;
  padding:6px;
  background:#f5f6fb;
  border:1px solid #e5e8f2;
  border-radius:16px;
  overflow-x:auto;
  scrollbar-width:none;
}

.cashier-tabs::-webkit-scrollbar{display:none}

.cashier-tab{
  flex:1;
  border:0;
  background:transparent;
  padding:12px 18px;
  border-radius:11px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  white-space:nowrap;
  color:#111a64;
}

.cashier-tab.active{
  background:#111a64;
  color:#fff;
}

.cashier-tab-pane{
  display:none !important;
}

.cashier-tab-pane.active{
  display:block !important;
}

.cashier-grid .cashier-tab-pane.active{
  grid-column:1/-1;
}

@media(max-width:700px){
  .cashier-tabs{
    margin:14px 0 10px;
  }

  .cashier-tab{
    flex:0 0 auto;
    padding:10px 14px;
    font-size:13px;
  }
}

/* Platform Admin layout */
.platform-admin-shell{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:24px;
  align-items:start;
}

[dir="rtl"] .platform-admin-shell{
  direction:rtl;
}

.platform-sidebar{
  position:sticky;
  top:18px;
  height:calc(100vh - 36px);
  padding:20px 16px;
  background:#111a64;
  border-radius:24px;
  color:#fff;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
}

.platform-side-brand{
  display:flex;
  align-items:center;
  gap:11px;
  padding:4px 7px 18px;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.platform-side-brand img{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  padding:5px;
}

.platform-side-brand small{
  display:block;
  opacity:.7;
  margin-top:2px;
}

.platform-side-nav{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-top:15px;
}

.platform-side-nav a{
  color:#fff;
  text-decoration:none;
  padding:10px 12px;
  border-radius:10px;
  font-weight:600;
}

.platform-side-nav a:hover{
  background:rgba(255,255,255,.10);
}

.platform-side-group{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:12px;
}

.platform-side-group>span{
  padding:7px 12px 4px;
  font-size:11px;
  opacity:.55;
  font-weight:800;
  text-transform:uppercase;
}

.platform-side-group a{
  padding-inline-start:18px;
}

.platform-side-foot{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
}

.platform-side-foot a{
  padding:10px;
  border-radius:10px;
  text-align:center;
  text-decoration:none;
  color:#fff;
  background:rgba(255,255,255,.09);
}

.platform-admin-main{
  min-width:0;
}

.platform-admin-main section,
.platform-admin-main [id]{
  scroll-margin-top:20px;
}

@media(max-width:900px){
  .platform-admin-shell{
    display:block;
  }

  .platform-sidebar{
    position:relative;
    top:auto;
    height:auto;
    margin-bottom:16px;
  }

  .platform-side-nav{
    max-height:290px;
    overflow:auto;
  }
}

/* Platform screen navigation */
.platform-view{
  display:none !important;
}

.platform-view.platform-view-active{
  display:block !important;
}

#platform-dashboard.platform-view-active{
  display:grid !important;
}

.platform-layout{
  display:contents;
}

.platform-side-nav a.platform-nav-active{
  background:linear-gradient(90deg,#ff5a00,#ef1f2d);
  color:#fff;
}


.platform-view{
  display:none !important;
}

.platform-view.platform-view-active{
  display:block !important;
}

#platform-dashboard.platform-view-active{
  display:grid !important;
}

.platform-dashboard-head{
  margin-bottom:18px;
}

.platform-admin-main > .commercial-settings,
.platform-admin-main > .plan-manager,
.platform-admin-main > #promos,
.platform-admin-main > #plan-history,
.platform-admin-main > #subscription-history{
  width:100%;
}


.business-count-summary{
  display:flex;
  gap:12px;
  margin:14px 0;
  flex-wrap:wrap;
}

.business-count-card{
  min-width:150px;
  padding:14px 18px;
  border:1px solid #e3e7f3;
  border-radius:14px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.business-count-card b{
  font-size:24px;
  color:#111a64;
}

.business-count-card span{
  font-size:12px;
  color:#68708b;
}

.business-count-card.active{
  border-color:#5b42f3;
  background:#f6f4ff;
}

.business-type-chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.business-type-chips a{
  padding:7px 12px;
  border:1px solid #e0e4ef;
  border-radius:20px;
  text-decoration:none;
  font-size:12px;
  background:#fff;
}

.business-type-chips a.active{
  background:#17216f;
  color:#fff;
  border-color:#17216f;
}

.footer-legal{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}

.footer-legal a{
  font-size:12px;
  text-decoration:none;
  color:inherit;
}

.footer-legal a:hover{
  text-decoration:underline;
}

.signup-legal{
  margin-top:10px;
  font-size:11px;
  text-align:center;
  color:var(--muted);
}

.signup-legal a{
  font-weight:700;
}

/* Loyvia V6.7 unified customer wallet */
.loyvia-wallet-panel{margin:18px 0;background:linear-gradient(145deg,#fff,#f8f9ff);overflow:hidden}
.wallet-head{align-items:flex-start}.wallet-head h2{margin:4px 0;font-size:28px}.wallet-head p{margin:6px 0 0;max-width:780px;line-height:1.7}
.wallet-groups{display:grid;gap:24px;margin-top:18px}.wallet-group{display:grid;gap:12px}
.wallet-group-title{display:flex;align-items:center;padding:0 2px 8px;border-bottom:1px solid var(--line)}.wallet-group-title b{font-size:17px}
.wallet-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wallet-business-card{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) 26px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:15px;background:#fff;transition:.18s ease;min-width:0;text-decoration:none;color:inherit}
.wallet-business-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(29,38,126,.10);border-color:color-mix(in srgb,var(--primary) 35%,var(--line))}
.wallet-business-card.current{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 8px 24px rgba(29,38,126,.07)}
.wallet-business-logo{width:78px;height:78px;border-radius:18px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden}
.wallet-business-logo img{width:100%;height:100%;object-fit:contain;padding:7px}
.wallet-business-info{min-width:0}.wallet-business-name{display:flex;gap:7px;align-items:center;min-width:0}.wallet-business-name>b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-business-name>span{font-size:10px;font-weight:900;padding:3px 7px;border-radius:999px;background:var(--cream);white-space:nowrap}
.wallet-business-info small{display:block;margin-top:8px;color:var(--muted);font-size:12px}
.wallet-business-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.wallet-business-stats span{background:var(--cream);border-radius:10px;padding:6px 9px;font-size:12px}.wallet-business-stats span b{font-size:13px}
.wallet-open{font-size:26px;color:var(--muted);font-weight:900;line-height:1}.wallet-business-card:hover .wallet-open{color:var(--primary)}
.wallet-empty{display:flex;gap:14px;align-items:center;padding:18px;border:1px dashed var(--line);border-radius:16px;margin-top:14px}.wallet-empty img{width:58px;height:58px;object-fit:contain}.wallet-empty p{margin:4px 0 0;color:var(--muted)}
@media(max-width:1000px){.wallet-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wallet-head h2{font-size:24px}.wallet-business-grid{grid-template-columns:1fr}.wallet-business-card{grid-template-columns:64px minmax(0,1fr) 22px;padding:12px}.wallet-business-logo{width:64px;height:64px;border-radius:15px}.wallet-business-name>b{font-size:15px}}


/* Loyvia V6.7 Wallet polish v2 */
.loyvia-wallet-panel{
  position:relative;
  margin:20px 0;
  padding:26px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,111,32,.08),transparent 32%),
    radial-gradient(circle at 0 100%,rgba(73,63,233,.07),transparent 34%),
    linear-gradient(145deg,#fff,#fafbff);
  border:1px solid #e8eaf5;
  border-radius:26px;
  overflow:hidden;
}
.wallet-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:2px}
.wallet-head-copy{min-width:0}.wallet-head h2{margin:4px 0 5px;font-size:30px;letter-spacing:-.02em}.wallet-head p{margin:0;max-width:760px;line-height:1.75}
.wallet-trust-badge{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:11px 13px;border:1px solid #e5e7f2;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(23,33,111,.045)}
.wallet-trust-badge>div{display:grid;gap:1px}.wallet-trust-badge b{font-size:12px}.wallet-trust-badge small{font-size:10px;color:var(--muted)}
.wallet-trust-dot{width:10px;height:10px;border-radius:50%;background:#24b36b;box-shadow:0 0 0 5px rgba(36,179,107,.1)}
.wallet-groups{display:grid;gap:28px;margin-top:24px}.wallet-group{display:grid;gap:13px}
.wallet-group-title{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px;border-bottom:1px solid #e7e9f2}
.wallet-group-title>div{display:flex;align-items:center;gap:9px}.wallet-category-mark{width:9px;height:9px;border-radius:3px;background:linear-gradient(135deg,#ff7426,#ef2e30);box-shadow:0 0 0 4px rgba(247,84,40,.08)}
.wallet-group-title b{font-size:17px}.wallet-group-count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#f0f2fb;color:#515977;font-size:12px;font-weight:800}
.wallet-business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wallet-business-card{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;min-width:0;padding:16px;border:1px solid #e5e8f2;border-radius:22px;background:rgba(255,255,255,.96);color:inherit;text-decoration:none;box-shadow:0 4px 18px rgba(25,35,106,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.wallet-business-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(25,35,106,.095);border-color:#cfd4ee;background:#fff}
.wallet-business-card.current{border-color:#ff9a6c;background:linear-gradient(145deg,#fff,#fffaf7);box-shadow:0 10px 28px rgba(232,79,34,.07)}
.wallet-business-card.current:before{content:"";position:absolute;inset-block:18px;inset-inline-start:-1px;width:3px;border-radius:4px;background:linear-gradient(#ff7426,#ef2e30)}
.wallet-business-logo{width:88px;height:88px;border-radius:20px;border:1px solid #e5e8f0;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 6px 18px rgba(30,37,90,.05)}
.wallet-business-logo img{width:100%;height:100%;object-fit:contain;padding:8px}
.wallet-business-info{min-width:0;display:grid;gap:10px}
.wallet-business-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.wallet-business-name{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.wallet-business-name>b{font-size:17px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wallet-business-name>span{font-size:10px;font-weight:900;padding:4px 8px;border-radius:999px;background:#fff0e9;color:#bc4e1e;border:1px solid #ffd7c5;white-space:nowrap}
.wallet-open{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:10px;background:#f5f6fb;color:#626a88;font-size:22px;font-weight:900;line-height:1;transition:.18s ease}.wallet-business-card:hover .wallet-open{background:#16226f;color:#fff}
.wallet-business-stats{display:flex;gap:9px;flex-wrap:wrap;margin:0}.wallet-stat{min-width:86px;padding:8px 10px;border-radius:13px;background:#f7f8fc;border:1px solid #eceef5;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.wallet-stat small{font-size:10px;color:var(--muted);margin:0}.wallet-stat strong{font-size:15px;color:#11195e}
.wallet-business-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.wallet-business-footer small{font-size:11px;color:var(--muted);margin:0}.wallet-business-footer small b{color:#4a526d}.wallet-business-footer>span{font-size:11px;font-weight:900;color:#222c78;white-space:nowrap}
.wallet-empty{display:flex;gap:16px;align-items:center;padding:22px;margin-top:18px;border:1px dashed #d9ddeb;border-radius:20px;background:rgba(255,255,255,.72)}.wallet-empty-logo{width:68px;height:68px;border-radius:18px;background:#fff;border:1px solid #e6e9f2;display:grid;place-items:center;flex:0 0 auto}.wallet-empty-logo img{width:54px;height:54px;object-fit:contain}.wallet-empty b{font-size:16px}.wallet-empty p{margin:5px 0 0;color:var(--muted);line-height:1.6}
@media(max-width:920px){.wallet-head{display:grid}.wallet-trust-badge{justify-self:start}.wallet-business-grid{grid-template-columns:1fr}}
@media(max-width:620px){.loyvia-wallet-panel{padding:18px 14px;border-radius:22px}.wallet-head h2{font-size:25px}.wallet-head p{font-size:12px}.wallet-trust-badge{width:100%;box-sizing:border-box}.wallet-groups{gap:22px;margin-top:20px}.wallet-business-card{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:12px;border-radius:18px}.wallet-business-logo{width:70px;height:70px;border-radius:16px}.wallet-business-name>b{font-size:15px}.wallet-business-stats{gap:6px}.wallet-stat{min-width:74px;padding:7px 8px}.wallet-business-footer{align-items:flex-end}.wallet-business-footer>span{font-size:10px}.wallet-open{width:27px;height:27px;font-size:20px}}


/* Loyvia V6.7 Wallet + Customer Card polish v3 */
:root{
  --lv-ink:#11195e;
  --lv-soft:#f6f7fc;
  --lv-line:#e5e8f2;
  --lv-orange:#ff6f20;
  --lv-red:#ef2e30;
  --lv-purple:#4b3fe9;
}

/* Customer identity card */
.member-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:182px;
  padding:28px 30px;
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.20),transparent 24%),
    radial-gradient(circle at 88% 82%,rgba(98,62,235,.20),transparent 28%),
    linear-gradient(118deg,#ff6f20 0%,#ff4a15 46%,#ef2e30 100%);
  box-shadow:0 18px 48px rgba(209,52,34,.16);
}
.member-card:after{
  content:"LOYVIA";
  position:absolute;
  inset-inline-end:28px;
  inset-block-end:-22px;
  z-index:-1;
  font-size:92px;
  font-weight:950;
  letter-spacing:.04em;
  color:rgba(255,255,255,.055);
  pointer-events:none;
}
.member-card h1{font-size:40px;line-height:1;margin:9px 0 14px;letter-spacing:-.025em}
.member-card .eyebrow{opacity:.84;letter-spacing:.12em}
.member-meta{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:center}
.member-meta span{font-size:12px;opacity:.92}
.member-meta b{color:#fff}
.points-orb{
  width:126px;height:126px;flex:0 0 126px;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 8px rgba(255,255,255,.035),0 12px 32px rgba(116,34,19,.13);
  backdrop-filter:blur(8px);
}
.points-orb b{font-size:38px}.points-orb span{font-weight:800;opacity:.95}

/* Wallet shell */
.loyvia-wallet-panel{
  padding:28px;
  border-radius:28px;
  box-shadow:0 12px 40px rgba(24,33,105,.045);
}
.wallet-head{padding-bottom:18px;border-bottom:1px solid var(--lv-line)}
.wallet-head-copy{max-width:820px}
.wallet-head h2{font-size:32px;margin-top:5px}
.wallet-head p{font-size:13px}
.wallet-security-note{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 10px;border-radius:999px;background:#f1f8f4;color:#267c51;font-size:11px;font-weight:800;border:1px solid #dcefe4}
.wallet-security-note span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#daf3e3;font-size:10px}
.wallet-trust-badge{border-radius:18px;padding:12px 14px;background:#fff}

.wallet-groups{gap:22px;margin-top:20px}
.wallet-group{gap:12px;padding:0}
.wallet-group-title{padding:0 2px 10px}
.wallet-group-title b{font-size:16px}
.wallet-group-count{height:25px;min-width:25px}
.wallet-business-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.wallet-business-grid.single{grid-template-columns:1fr}
.wallet-business-grid.single .wallet-business-card{grid-template-columns:96px minmax(0,1fr);min-height:126px}
.wallet-business-grid.single .wallet-business-logo{width:96px;height:96px}

.wallet-business-card{
  min-height:118px;
  padding:16px 17px;
  border-radius:22px;
  box-shadow:0 7px 24px rgba(22,31,96,.045);
}
.wallet-business-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(25,35,106,.11)}
.wallet-business-logo{background:linear-gradient(145deg,#fff,#fafbff)}
.wallet-business-logo img{padding:9px}
.wallet-business-name-row{align-items:center}
.wallet-business-name>b{font-size:18px}
.wallet-business-info{gap:9px}
.wallet-business-stats{gap:8px}
.wallet-stat{min-width:102px;padding:8px 11px;background:#f7f8fd}
.wallet-stat strong{font-size:16px}
.wallet-business-footer{margin-top:1px;padding-top:8px;border-top:1px dashed #e8eaf2}
.wallet-business-footer>span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:10px;background:#f0f2fb;color:#17216f}
.wallet-business-card:hover .wallet-business-footer>span{background:#17216f;color:#fff}
.wallet-open{width:32px;height:32px}

/* Overview KPIs */
.metric-grid{gap:14px;margin:16px 0}
.metric-grid .metric{
  position:relative;
  overflow:hidden;
  min-height:92px;
  padding:18px 18px 15px;
  border:1px solid var(--lv-line);
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#fbfcff);
  box-shadow:0 6px 20px rgba(24,33,105,.035);
}
.metric-grid .metric:before{content:"";position:absolute;inset-inline-start:0;inset-block:18px;width:3px;border-radius:4px;background:linear-gradient(#4b3fe9,#ff6f20)}
.metric-grid .metric b{font-size:27px;color:var(--lv-ink);letter-spacing:-.02em}
.metric-grid .metric span{margin-top:5px;color:#737b96;font-size:11px}

/* Rewards / referral cards */
.two-col{gap:16px}
.two-col>.panel{border-radius:22px;border-color:var(--lv-line);box-shadow:0 6px 22px rgba(24,33,105,.035)}
.two-col>.panel .panel-head{padding-bottom:10px;border-bottom:1px solid #edf0f6}
.reward-item{padding:12px 2px;border-bottom:1px solid #eff1f6}
.reward-item:last-child{border-bottom:0}
.referral-box{padding:17px;border:1px dashed #d8dced;border-radius:16px;background:#fafbff}
.referral-box code{font-size:22px;letter-spacing:.16em;color:#e9362c;font-weight:900}

.customer-tabs{border-radius:18px;padding:5px;background:#f5f6fb;border:1px solid #e8eaf3}
.customer-tab{border-radius:13px}
.customer-tab.active{box-shadow:0 5px 14px rgba(20,29,103,.12)}

/* Responsive */
@media(max-width:980px){
  .member-card{padding:24px;min-height:170px}
  .member-card h1{font-size:34px}
  .points-orb{width:110px;height:110px;flex-basis:110px}
  .wallet-business-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .member-card{border-radius:22px;padding:20px 17px;gap:18px}
  .member-card:after{font-size:58px;inset-inline-end:10px}
  .member-card h1{font-size:29px}
  .member-meta{gap:8px 12px}
  .member-meta span{font-size:10px}
  .points-orb{width:92px;height:92px;flex-basis:92px}
  .points-orb b{font-size:30px}
  .loyvia-wallet-panel{padding:18px 14px;border-radius:22px}
  .wallet-head{gap:14px;padding-bottom:15px}
  .wallet-head h2{font-size:26px}
  .wallet-business-grid.single .wallet-business-card,.wallet-business-card{grid-template-columns:72px minmax(0,1fr);min-height:0;padding:12px}
  .wallet-business-grid.single .wallet-business-logo,.wallet-business-logo{width:72px;height:72px;border-radius:16px}
  .wallet-business-name>b{font-size:15px}
  .wallet-stat{min-width:78px;padding:7px 8px}
  .wallet-business-footer{align-items:center;gap:8px}
  .wallet-business-footer small{max-width:58%}
  .wallet-business-footer>span{padding:6px 8px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-grid .metric{min-height:78px;padding:14px}
  .metric-grid .metric b{font-size:23px}
}


/* ===== Referral Design V4 ===== */

.referral-panel{
    overflow:hidden;
}

.referral-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.referral-eyebrow{
    display:block;
    margin-bottom:4px;
    color:#777f99;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.referral-business-chip{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:7px 11px;
    border:1px solid #e4e7f2;
    border-radius:999px;
    background:#f8f9ff;
    color:#515a78;
    font-size:11px;
    white-space:nowrap;
}

.referral-business-chip img{
    width:28px;
    height:28px;
    border-radius:8px;
    object-fit:contain;
    background:#fff;
    border:1px solid #eceef5;
}

.referral-business-chip b{
    color:#161b35;
}


.referral-card-pro{
    margin-top:16px;
    padding:18px;
    border:1px solid #e1e5f2;
    border-radius:20px;
    background:
      linear-gradient(
        135deg,
        #fbfcff 0%,
        #ffffff 58%,
        #fff5ef 100%
      );
}

.referral-card-main{
    display:grid;
    gap:9px;
    padding-bottom:15px;
    border-bottom:1px dashed #dfe3ef;
}

.referral-label{
    color:#747c97;
    font-size:11px;
    font-weight:800;
}


.referral-code-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
}

.referral-code-row code{
    padding:4px 0;
    color:#f13e2e;
    font-size:30px;
    font-weight:950;
    line-height:1;
    letter-spacing:.18em;
    text-transform:uppercase;
}


.referral-copy-btn{
    background:#fff !important;
    border-color:#dfe3ef !important;
    transition:.18s ease;
}

.referral-copy-btn:hover{
    transform:translateY(-1px);
}


.referral-explainer{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:11px;
    align-items:start;
    margin-top:14px;
    padding:13px 14px;
    border-radius:15px;
    background:#f7f8fe;
    color:#4f5874;
}

.referral-explainer p{
    margin:0;
    font-size:12px;
    line-height:1.85;
}

.referral-explainer p b{
    color:#161b35;
}

.referral-info-icon{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef0ff;
    color:#2634c4;
    font-family:Georgia,serif;
    font-weight:900;
}


.referral-packages{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #edf0f6;
}

.referral-packages h3{
    margin:0 0 8px;
}


@media(max-width:680px){

    .referral-panel-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .referral-business-chip{
        max-width:100%;
    }

    .referral-code-row{
        align-items:flex-start;
    }

    .referral-code-row code{
        font-size:24px;
        letter-spacing:.13em;
    }

    .referral-copy-btn{
        width:100%;
    }

    .referral-explainer{
        grid-template-columns:24px minmax(0,1fr);
        padding:11px;
    }

}


/* ===== Customer Card + KPI Polish V5 ===== */

/* Main customer card */
.customer-card{
    position:relative;
    overflow:hidden;
    border-radius:26px;
    padding:24px 26px;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,255,255,.25), transparent 24%),
        linear-gradient(135deg,#ff7a22 0%,#ff642d 48%,#f04438 100%);
    box-shadow:
        0 18px 40px rgba(240,90,45,.18),
        inset 0 1px 0 rgba(255,255,255,.25);
    color:#fff;
}

.customer-card:after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border-radius:50%;
    right:-65px;
    top:-75px;
    background:rgba(255,255,255,.08);
}

[dir="rtl"] .customer-card:after{
    right:auto;
    left:-65px;
}

.customer-card-header{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.customer-card-person{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.customer-card-avatar{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(8px);
    font-size:23px;
    font-weight:900;
}

.customer-card-name{
    margin:0;
    font-size:22px;
    line-height:1.15;
    font-weight:950;
    letter-spacing:-.02em;
}

.customer-card-phone{
    display:block;
    margin-top:5px;
    color:rgba(255,255,255,.82);
    font-size:12px;
    font-weight:700;
}

.customer-card-brand{
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 11px;
    border-radius:14px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
}

.customer-card-brand img{
    width:30px;
    height:30px;
    object-fit:contain;
    border-radius:8px;
    background:#fff;
}

.customer-card-brand span{
    font-size:11px;
    font-weight:850;
}

.customer-card-stats{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}

.customer-card-stat{
    padding:13px 14px;
    border-radius:17px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.16);
    backdrop-filter:blur(8px);
}

.customer-card-stat small{
    display:block;
    margin-bottom:5px;
    color:rgba(255,255,255,.76);
    font-size:10px;
    font-weight:800;
}

.customer-card-stat b{
    display:block;
    font-size:20px;
    line-height:1;
    font-weight:950;
}

/* KPI grid */
.customer-kpi-grid,
.kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.customer-kpi-grid .kpi,
.kpi-grid .kpi,
.customer-kpi-grid .stat-card,
.kpi-grid .stat-card{
    position:relative;
    overflow:hidden;
    padding:17px 18px;
    border:1px solid #e7eaf2;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 24px rgba(33,42,77,.045);
    transition:.18s ease;
}

.customer-kpi-grid .kpi:hover,
.kpi-grid .kpi:hover,
.customer-kpi-grid .stat-card:hover,
.kpi-grid .stat-card:hover{
    transform:translateY(-2px);
    box-shadow:0 13px 30px rgba(33,42,77,.075);
}

.customer-kpi-grid small,
.kpi-grid small{
    display:block;
    margin-bottom:8px;
    color:#8189a2;
    font-size:10px;
    line-height:1.3;
    font-weight:850;
}

.customer-kpi-grid b,
.kpi-grid b{
    color:#151a34;
    font-size:24px;
    line-height:1;
    font-weight:950;
}

.customer-kpi-grid .accent,
.kpi-grid .accent{
    color:#f05a34;
}

/* Panels */
.customer-page .panel,
.customer-card-page .panel{
    border:1px solid #e8ebf3;
    border-radius:22px;
    box-shadow:0 8px 26px rgba(33,42,77,.035);
}

.customer-page .panel-head,
.customer-card-page .panel-head{
    padding-bottom:12px;
    border-bottom:1px solid #f0f2f7;
}

/* Reward rows */
.reward-list{
    display:grid;
    gap:10px;
}

.reward-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:13px 14px;
    border:1px solid #edf0f5;
    border-radius:15px;
    background:#fbfcfe;
}

.reward-item b{
    display:block;
    color:#171c35;
    font-size:12px;
}

.reward-item small{
    display:block;
    margin-top:3px;
    color:#8990a6;
    font-size:10px;
}

.reward-item .pill{
    min-width:34px;
    text-align:center;
}

/* Tabs */
.customer-tabs{
    margin-top:20px;
    padding:5px;
    border:1px solid #e8ebf3;
    border-radius:16px;
    background:#f6f7fb;
}

.customer-tabs a,
.customer-tabs button{
    border-radius:12px;
    font-weight:800;
}

/* Mobile */
@media(max-width:900px){
    .customer-kpi-grid,
    .kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .customer-card{
        padding:19px;
        border-radius:22px;
    }

    .customer-card-header{
        align-items:flex-start;
    }

    .customer-card-avatar{
        width:50px;
        height:50px;
        flex-basis:50px;
        border-radius:15px;
        font-size:20px;
    }

    .customer-card-name{
        font-size:18px;
    }

    .customer-card-brand{
        display:none;
    }

    .customer-card-stats{
        grid-template-columns:1fr;
    }

    .customer-kpi-grid,
    .kpi-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .customer-kpi-grid .kpi,
    .kpi-grid .kpi,
    .customer-kpi-grid .stat-card,
    .kpi-grid .stat-card{
        padding:14px;
        border-radius:17px;
    }

    .customer-kpi-grid b,
    .kpi-grid b{
        font-size:20px;
    }
}


/* ===== FINAL CARD POLISH V6 ===== */

/* ---------------------------------------------------------
   Member card
--------------------------------------------------------- */

.member-card{
    position:relative;
    min-height:148px;
    padding:24px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    overflow:hidden;
    border-radius:26px;
    background:
        radial-gradient(circle at 12% 18%,rgba(255,255,255,.16),transparent 25%),
        linear-gradient(118deg,#ff7a28 0%,#ff4c20 51%,#e9334d 100%);
    box-shadow:0 16px 38px rgba(222,65,45,.15);
    color:#fff;
}

.member-card:after{
    content:"LOYVIA";
    position:absolute;
    inset-inline-start:26px;
    bottom:-18px;
    font-size:76px;
    font-weight:950;
    letter-spacing:-.06em;
    color:rgba(255,255,255,.075);
    pointer-events:none;
}

.member-card:before{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    inset-inline-end:-70px;
    top:-105px;
    background:rgba(255,255,255,.075);
    pointer-events:none;
}

.member-card-main{
    position:relative;
    z-index:2;
    flex:1;
    min-width:0;
}

.member-card-heading{
    margin-bottom:19px;
}

.member-tenant-label{
    display:block;
    margin-bottom:6px;
    color:rgba(255,255,255,.8);
    font-size:11px;
    line-height:1.2;
    font-weight:850;
}

.member-card h1{
    margin:0;
    color:#fff;
    font-size:34px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.025em;
}

.member-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.member-meta span{
    min-width:120px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
}

.member-meta small{
    display:block;
    margin-bottom:3px;
    color:rgba(255,255,255,.67);
    font-size:9px;
    font-weight:800;
}

.member-meta b{
    display:block;
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.points-orb{
    position:relative;
    z-index:2;
    width:106px;
    height:106px;
    flex:0 0 106px;
    display:grid;
    place-items:center;
    align-content:center;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.12);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.28),
      0 8px 26px rgba(117,28,38,.10);
    backdrop-filter:blur(8px);
}

.points-orb b{
    color:#fff;
    font-size:34px;
    line-height:1;
    font-weight:950;
}

.points-orb span{
    margin-top:5px;
    color:rgba(255,255,255,.88);
    font-size:11px;
    font-weight:850;
}


/* ---------------------------------------------------------
   Wallet
--------------------------------------------------------- */

.loyvia-wallet-panel{
    padding:26px;
}

.wallet-groups{
    gap:18px;
    margin-top:19px;
}

.wallet-group{
    gap:10px;
}

.wallet-group-title{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:0 2px 8px;
}

.wallet-group-title-main{
    display:inline-flex;
    align-items:center;
    gap:9px;
}

.wallet-group-title b{
    font-size:16px;
}

.wallet-group-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:23px;
    height:23px;
    padding:0 7px;
    margin:0;
    border-radius:999px;
    background:#f0f2fb;
    color:#59617d;
    font-size:10px;
    font-weight:900;
}

.wallet-business-grid{
    gap:11px;
}


/* Card height reduced */
.wallet-business-card,
.wallet-business-grid.single .wallet-business-card{
    min-height:0;
    padding:13px 14px;
    grid-template-columns:76px minmax(0,1fr);
    gap:13px;
    border-radius:19px;
}

.wallet-business-grid.single .wallet-business-logo,
.wallet-business-logo{
    width:76px;
    height:76px;
    border-radius:15px;
}

.wallet-business-logo img{
    padding:7px;
}

.wallet-business-info{
    gap:6px;
}

.wallet-business-name-row{
    min-height:28px;
}

.wallet-business-name>b{
    font-size:16px;
}

.wallet-business-name span{
    padding:3px 7px;
    font-size:9px;
}

.wallet-business-stats{
    gap:6px;
}

.wallet-stat{
    min-width:82px;
    padding:6px 9px;
    border-radius:11px;
}

.wallet-stat small{
    font-size:9px;
}

.wallet-stat strong{
    font-size:15px;
}

.wallet-business-footer{
    margin-top:0;
    padding-top:6px;
    gap:8px;
}

.wallet-business-footer small{
    font-size:9px;
}

/* clear button */
.wallet-business-footer>span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:6px 12px;
    border-radius:10px;
    background:#15216e;
    color:#fff;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
}

.wallet-business-footer>span:after{
    content:"  ›";
    font-size:15px;
    line-height:.8;
}

[dir="rtl"] .wallet-business-footer>span:after{
    content:"  ‹";
}

.wallet-business-card:hover .wallet-business-footer>span{
    background:#2634c4;
}

.wallet-open{
    display:none !important;
}


/* ---------------------------------------------------------
   KPI cards
--------------------------------------------------------- */

.metric-grid{
    gap:11px;
    margin:15px 0;
}

.metric-grid .metric{
    min-height:72px;
    padding:14px 16px 12px;
    border-radius:17px;
}

.metric-grid .metric:before{
    inset-block:15px;
}

.metric-grid .metric b{
    font-size:24px;
}

.metric-grid .metric span{
    margin-top:4px;
    font-size:10px;
}


/* ---------------------------------------------------------
   Rewards / Referral
--------------------------------------------------------- */

.rewards-referral-grid{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    align-items:start;
}

.rewards-referral-grid>.panel{
    min-height:0 !important;
    height:auto !important;
}

.rewards-panel{
    align-self:start;
}

.reward-list{
    margin-top:4px;
}

.reward-item{
    padding:10px 2px;
}

.referral-panel{
    align-self:start;
}


/* ---------------------------------------------------------
   Customer tabs
--------------------------------------------------------- */

.customer-tabs{
    margin-top:17px;
}

.customer-tabs a,
.customer-tabs button{
    min-height:38px;
}


/* ---------------------------------------------------------
   Activity
--------------------------------------------------------- */

.customer-page table,
.customer-card-page table{
    font-size:11px;
}

.customer-page th,
.customer-page td,
.customer-card-page th,
.customer-card-page td{
    padding-top:10px;
    padding-bottom:10px;
}


/* ---------------------------------------------------------
   Responsive
--------------------------------------------------------- */

@media(max-width:980px){

    .member-card{
        min-height:0;
    }

    .member-meta span{
        min-width:105px;
    }

    .rewards-referral-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){

    .member-card{
        padding:18px;
        gap:15px;
        border-radius:22px;
    }

    .member-card:after{
        font-size:48px;
        bottom:-10px;
        inset-inline-start:14px;
    }

    .member-card-heading{
        margin-bottom:12px;
    }

    .member-card h1{
        font-size:27px;
    }

    .member-meta{
        gap:6px;
    }

    .member-meta span{
        min-width:calc(50% - 4px);
        box-sizing:border-box;
        padding:7px 8px;
    }

    .points-orb{
        width:84px;
        height:84px;
        flex-basis:84px;
    }

    .points-orb b{
        font-size:27px;
    }

    .loyvia-wallet-panel{
        padding:17px 13px;
    }

    .wallet-business-card,
    .wallet-business-grid.single .wallet-business-card{
        grid-template-columns:62px minmax(0,1fr);
        gap:10px;
        padding:11px;
    }

    .wallet-business-grid.single .wallet-business-logo,
    .wallet-business-logo{
        width:62px;
        height:62px;
        border-radius:14px;
    }

    .wallet-business-name>b{
        font-size:14px;
    }

    .wallet-stat{
        min-width:66px;
        padding:6px 7px;
    }

    .wallet-business-footer{
        flex-wrap:wrap;
    }

    .wallet-business-footer small{
        max-width:100%;
        width:100%;
    }

    .wallet-business-footer>span{
        min-height:28px;
        padding:5px 9px;
    }

    .metric-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .metric-grid .metric{
        min-height:66px;
        padding:12px;
    }

    .metric-grid .metric b{
        font-size:21px;
    }
}


/* ===== WALLET SCALE V7 ===== */

/* Toolbar */
.wallet-scale-toolbar{
    display:grid;
    gap:12px;
    margin:18px 0 20px;
    padding-bottom:15px;
    border-bottom:1px solid #eaedf5;
}


/* Search */
.wallet-search-wrap{
    position:relative;
    max-width:420px;
}

.wallet-business-search{
    width:100%;
    height:42px;
    box-sizing:border-box;
    padding:0 15px;
    border:1px solid #e1e5ef;
    border-radius:14px;
    outline:none;
    background:#fff;
    color:#171c35;
    font:inherit;
    font-size:12px;
    transition:.18s ease;
}

.wallet-business-search::placeholder{
    color:#9aa1b5;
}

.wallet-business-search:focus{
    border-color:#8f98df;
    box-shadow:0 0 0 3px rgba(55,68,205,.08);
}


/* Sector navigation */
.wallet-sector-nav{
    display:flex;
    align-items:center;
    gap:7px;
    overflow-x:auto;
    padding:2px 0 4px;
    scrollbar-width:thin;
}

.wallet-sector-chip{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:6px 11px;
    border:1px solid #e5e8f1;
    border-radius:999px;
    background:#fff;
    color:#59617d;
    cursor:pointer;
    font-family:inherit;
    font-size:11px;
    font-weight:850;
    transition:.16s ease;
}

.wallet-sector-chip small{
    min-width:19px;
    height:19px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border-radius:999px;
    background:#f1f3f9;
    color:#767e98;
    font-size:9px;
    font-weight:900;
}

.wallet-sector-chip:hover{
    border-color:#cdd2e6;
    transform:translateY(-1px);
}

.wallet-sector-chip.active{
    border-color:#172273;
    background:#172273;
    color:#fff;
}

.wallet-sector-chip.active small{
    background:rgba(255,255,255,.17);
    color:#fff;
}


/* Hide browser-hidden wallet cards cleanly */
.wallet-business-card[hidden],
.wallet-group[hidden]{
    display:none !important;
}


/* Show all */
.wallet-show-more-wrap{
    display:flex;
    justify-content:center;
    margin-top:4px;
    padding-top:5px;
}

.wallet-show-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:36px;
    padding:7px 16px;
    border:1px solid #dfe3ef;
    border-radius:12px;
    background:#fff;
    color:#18236e;
    cursor:pointer;
    font-family:inherit;
    font-size:11px;
    font-weight:900;
    transition:.17s ease;
}

.wallet-show-more-btn b{
    font-size:10px;
    color:#767e98;
}

.wallet-show-more-btn:hover{
    border-color:#bcc3df;
    background:#f8f9ff;
    transform:translateY(-1px);
}


/* Keep long wallets visually controlled */
.wallet-group{
    scroll-margin-top:90px;
}


/* Mobile */
@media(max-width:680px){

    .wallet-scale-toolbar{
        margin-top:14px;
        gap:10px;
    }

    .wallet-search-wrap{
        max-width:none;
    }

    .wallet-business-search{
        height:40px;
        border-radius:12px;
    }

    .wallet-sector-nav{
        margin-inline:-3px;
    }

    .wallet-sector-chip{
        min-height:32px;
        padding:5px 10px;
    }

    .wallet-show-more-btn{
        width:100%;
    }

}


/* ===== GLOBAL QR MODAL V9 ===== */

.global-qr-launch-wrap{
    margin:14px 0 0;
}

.global-qr-launch{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 15px;
    border:1px solid #e5e8f2;
    border-radius:16px;
    background:#fff;
    color:#121a55;
    cursor:pointer;
    text-align:inherit;
    font-family:inherit;
    box-shadow:0 6px 18px rgba(30,40,80,.04);
    transition:.18s ease;
}

.global-qr-launch:hover{
    transform:translateY(-1px);
    border-color:#cdd2e8;
    box-shadow:0 10px 24px rgba(30,40,80,.07);
}

.global-qr-launch-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    border-radius:12px;
    background:#151f70;
    color:#fff;
    font-size:24px;
    font-weight:900;
}

.global-qr-launch b{
    display:block;
    font-size:13px;
}

.global-qr-launch small{
    display:block;
    margin-top:3px;
    color:#7c849d;
    font-size:10px;
}

.global-qr-modal[hidden]{
    display:none !important;
}

.global-qr-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:20px;
}

.global-qr-backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,12,38,.62);
    backdrop-filter:blur(4px);
}

.global-qr-dialog{
    position:relative;
    z-index:2;
    width:min(420px,100%);
    padding:28px;
    border-radius:24px;
    background:#fff;
    text-align:center;
    box-shadow:0 30px 80px rgba(5,10,35,.30);
}

.global-qr-dialog h2{
    margin:6px 0 8px;
    color:#121a55;
    font-size:24px;
}

.global-qr-dialog p{
    margin:0 auto 18px;
    color:#69718c;
    font-size:12px;
    line-height:1.8;
}

.global-qr-image-box{
    width:240px;
    height:240px;
    margin:0 auto 12px;
    padding:12px;
    box-sizing:border-box;
    border:1px solid #e7eaf3;
    border-radius:20px;
    background:#fff;
}

.global-qr-image-box img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.global-qr-close{
    position:absolute;
    top:12px;
    inset-inline-end:12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:#f3f4f8;
    color:#303753;
    cursor:pointer;
    font-size:22px;
    line-height:1;
}

.global-qr-note{
    color:#8a91a7;
    font-size:9px;
}

body.global-qr-open{
    overflow:hidden;
}

@media(max-width:680px){

    .global-qr-launch{
        padding:11px 12px;
    }

    .global-qr-dialog{
        padding:24px 18px 20px;
    }

    .global-qr-image-box{
        width:220px;
        height:220px;
    }
}


/* ===== CUSTOMER QR SCANNER V10 ===== */

.customer-qr-scan-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding-inline:14px;
    border:1px solid #172273 !important;
    background:#172273 !important;
    color:#fff !important;
    white-space:nowrap;
}

.customer-qr-button-icon{
    font-size:19px;
    line-height:1;
}


.customer-qr-scanner-modal[hidden]{
    display:none !important;
}

.customer-qr-scanner-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:grid;
    place-items:center;
    padding:18px;
}


.customer-qr-scanner-backdrop{
    position:absolute;
    inset:0;
    background:rgba(7,11,34,.70);
    backdrop-filter:blur(5px);
}


.customer-qr-scanner-dialog{
    position:relative;
    z-index:2;
    width:min(540px,100%);
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 90px rgba(0,0,0,.30);
}


.customer-qr-scanner-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    padding:20px 21px 15px;
}

.customer-qr-scanner-head h2{
    margin:4px 0 5px;
    color:#121a55;
    font-size:22px;
}

.customer-qr-scanner-head p{
    margin:0;
    color:#747c94;
    font-size:11px;
    line-height:1.7;
}


.customer-qr-close{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:#f2f3f7;
    color:#343b57;
    cursor:pointer;
    font-size:23px;
}


.customer-qr-camera-stage{
    position:relative;
    aspect-ratio:4 / 3;
    overflow:hidden;
    background:#090d1d;
}

.customer-qr-camera-stage video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}


.customer-qr-frame{
    position:absolute;
    width:min(62%,280px);
    aspect-ratio:1;
    inset:50% auto auto 50%;
    transform:translate(-50%,-50%);
    border:2px solid rgba(255,255,255,.92);
    border-radius:20px;
    box-shadow:
      0 0 0 999px rgba(0,0,0,.20);
}

.customer-qr-frame:before,
.customer-qr-frame:after,
.customer-qr-frame span:before,
.customer-qr-frame span:after{
    content:"";
    position:absolute;
    width:32px;
    height:32px;
    border-color:#ff5c32;
    border-style:solid;
}

.customer-qr-frame:before{
    top:-3px;
    left:-3px;
    border-width:4px 0 0 4px;
    border-radius:13px 0 0 0;
}

.customer-qr-frame:after{
    top:-3px;
    right:-3px;
    border-width:4px 4px 0 0;
    border-radius:0 13px 0 0;
}

.customer-qr-frame span:before{
    bottom:-3px;
    left:-3px;
    border-width:0 0 4px 4px;
    border-radius:0 0 0 13px;
}

.customer-qr-frame span:after{
    bottom:-3px;
    right:-3px;
    border-width:0 4px 4px 0;
    border-radius:0 0 13px 0;
}


.customer-qr-line{
    position:absolute;
    width:min(55%,250px);
    height:2px;
    left:50%;
    top:35%;
    transform:translateX(-50%);
    background:#ff5b32;
    box-shadow:0 0 12px rgba(255,91,50,.9);
    animation:loyviaQrScanLine 2s ease-in-out infinite alternate;
}


@keyframes loyviaQrScanLine{
    from{top:34%}
    to{top:66%}
}


.customer-qr-status{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    background:#f7f8fc;
    color:#5f6782;
    text-align:center;
    font-size:11px;
    font-weight:800;
}

.customer-qr-status[data-type="success"]{
    background:#edfbf3;
    color:#087b43;
}

.customer-qr-status[data-type="error"]{
    background:#fff2f0;
    color:#b93828;
}


.customer-qr-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding:13px 18px 17px;
}


body.customer-qr-camera-open{
    overflow:hidden;
}


@media(max-width:680px){

    .customer-qr-scanner-modal{
        padding:10px;
    }

    .customer-qr-scanner-dialog{
        border-radius:20px;
    }

    .customer-qr-scanner-head{
        padding:17px 16px 13px;
    }

    .customer-qr-camera-stage{
        aspect-ratio:3 / 4;
        max-height:60vh;
    }

    .customer-qr-actions{
        flex-wrap:wrap;
    }

    .customer-qr-actions .btn{
        flex:1;
    }

}

@media(prefers-reduced-motion:reduce){

    .customer-qr-line{
        animation:none;
        top:50%;
    }

}


/* ===== OTP UX V11 ===== */

.otp-panel{
    align-self:start;
}

.otp-help{
    margin:-3px 0 14px;
    font-size:10px;
    line-height:1.7;
}


.otp-row-v2{
    display:grid;
    grid-template-columns:
      minmax(115px,1fr)
      105px
      78px
      auto;
    gap:10px 14px;
    align-items:center;

    padding:13px 0;

    border-bottom:1px solid #edf0f5;
}

.otp-row-v2:last-of-type{
    border-bottom:0;
}


.otp-customer{
    display:grid;
    gap:3px;
}

.otp-customer b{
    color:#171c35;
    font-size:12px;
}

.otp-customer small{
    color:#8a91a7;
    font-size:9px;
}


.otp-code-box{
    display:grid;
    gap:3px;
}

.otp-code-box small{
    color:#8a91a7;
    font-size:8px;
}

.otp-code-box strong{
    color:#ed482f;
    font-size:21px;
    line-height:1;
    font-weight:950;
    letter-spacing:.16em;
}


.otp-countdown-wrap{
    display:grid;
    gap:3px;
}

.otp-countdown-wrap small{
    color:#8a91a7;
    font-size:8px;
}

.otp-countdown-wrap b{
    color:#2c355f;
    font-size:12px;
    font-variant-numeric:tabular-nums;
}


.otp-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:26px;

    padding:4px 8px;

    border-radius:999px;

    font-size:9px;
    font-weight:900;

    white-space:nowrap;
}

.otp-status.pending{
    background:#fff6e7;
    color:#a56500;
}

.otp-status.sent{
    background:#eaf8f0;
    color:#087a43;
}


.otp-actions-v2{
    grid-column:1/-1;

    display:flex;
    align-items:center;
    gap:7px;

    flex-wrap:wrap;
}

.otp-actions-v2 form{
    margin:0;
}


.otp-copy-btn{
    border-color:#dfe3ef !important;
    background:#fff !important;
    color:#18236e !important;
}

.otp-copy-btn.copied{
    border-color:#9ed8ba !important;
    background:#edfaf3 !important;
    color:#087a43 !important;
}


.otp-row-v2.expired{
    opacity:.45;
    pointer-events:none;
}


.otp-empty{
    display:grid;
    justify-items:center;
    gap:6px;

    padding:22px;

    color:#8a91a7;

    text-align:center;
}

.otp-empty span{
    width:32px;
    height:32px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#edf8f2;
    color:#078149;

    font-weight:900;
}

.otp-empty p{
    margin:0;
    font-size:10px;
}


@media(max-width:720px){

    .otp-row-v2{
        grid-template-columns:1fr 1fr;
    }

    .otp-status-wrap{
        justify-self:start;
    }

    .otp-actions-v2{
        grid-column:1/-1;
    }

}


@media(max-width:480px){

    .otp-row-v2{
        grid-template-columns:1fr;
    }

    .otp-actions-v2{
        grid-column:auto;
    }

    .otp-actions-v2 .btn,
    .otp-actions-v2 form,
    .otp-actions-v2 form button{
        width:100%;
    }

}


/* ===== LOYVIA MY ACCOUNT V12 ===== */

.my-hero{
    position:relative;
    overflow:hidden;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;

    padding:28px 30px;
    margin-bottom:16px;

    border-radius:26px;

    background:
      radial-gradient(
        circle at 90% 10%,
        rgba(255,255,255,.15),
        transparent 28%
      ),
      linear-gradient(
        135deg,
        #1421a9,
        #2639de 62%,
        #3549e8
      );

    color:#fff;

    box-shadow:
      0 18px 48px rgba(23,38,201,.18);
}

.my-hero:after{
    content:"";
    position:absolute;

    width:180px;
    height:180px;

    border-radius:50%;

    inset:auto -50px -95px auto;

    background:rgba(255,98,56,.75);
}


.my-hero-brand{
    position:relative;
    z-index:1;

    display:flex;
    align-items:center;
    gap:18px;
}

.my-hero-brand > img{
    width:72px;
    height:72px;

    object-fit:contain;

    padding:10px;

    border-radius:20px;

    background:#fff;

    box-shadow:
      0 10px 25px rgba(0,0,0,.12);
}

.my-hero-brand h1{
    color:#fff;
    margin:3px 0 5px;
    font-size:30px;
}

.my-hero-brand p{
    margin:0;
    max-width:590px;
    opacity:.86;
}


.my-hero .eyebrow{
    color:#ffce55;
}


.my-hero-actions{
    position:relative;
    z-index:1;

    display:flex;
    align-items:center;
    gap:8px;

    flex-wrap:wrap;
}

.my-hero-actions .btn{
    min-height:42px;
}

.my-hero-actions .primary{
    background:#fff;
    color:#1928bc;
    border-color:#fff;
}

.my-hero-actions .ghost{
    color:#fff;
    border-color:rgba(255,255,255,.38);
    background:rgba(255,255,255,.08);
}


.my-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.my-kpi{
    display:grid;
    gap:5px;

    min-width:0;

    padding:15px 17px;

    border:1px solid #e8eaf3;
    border-radius:18px;

    background:#fff;

    box-shadow:
      0 8px 25px rgba(31,38,83,.045);
}

.my-kpi small{
    color:#8a91a7;
    font-size:10px;
    font-weight:750;
}

.my-kpi strong{
    color:#19224e;
    font-size:23px;
    line-height:1;
}

.my-kpi strong span{
    color:#8a91a7;
    font-size:9px;
}


.my-wallet{
    margin-top:0;
}


.my-wallet-tools{
    display:grid;
    gap:10px;
    margin:15px 0 18px;
}

.my-wallet-search{
    display:flex;
    align-items:center;
    gap:8px;

    max-width:440px;

    padding:0 13px;

    border:1px solid #e3e6f1;
    border-radius:13px;

    background:#f9faff;
}

.my-wallet-search span{
    color:#7c849d;
    font-size:20px;
}

.my-wallet-search input{
    width:100%;
    height:42px;

    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;

    font-size:11px;
}


.my-sector-chips{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding-bottom:2px;
}

.my-sector-chips button{
    display:inline-flex;
    align-items:center;
    gap:6px;

    white-space:nowrap;

    border:1px solid #e1e4ef;
    border-radius:999px;

    padding:7px 11px;

    color:#5c647e;
    background:#fff;

    font-size:10px;
    font-weight:800;

    cursor:pointer;
}

.my-sector-chips button span{
    min-width:18px;
    height:18px;

    display:inline-grid;
    place-items:center;

    padding:0 4px;

    border-radius:999px;

    background:#f0f2f8;

    font-size:8px;
}

.my-sector-chips button.active{
    color:#fff;
    background:#1726c9;
    border-color:#1726c9;
}

.my-sector-chips button.active span{
    color:#1726c9;
    background:#fff;
}


.my-wallet-spend{
    display:none;
}


.my-search-empty{
    display:grid;
    justify-items:center;

    padding:30px 15px;

    text-align:center;
    color:#8b92a8;
}

.my-search-empty span{
    font-size:28px;
}

.my-search-empty p{
    margin:5px 0 0;
}


.my-global-qr-dialog{
    text-align:center;
}

.my-qr-loyvia-logo{
    display:block;

    width:100px;
    max-height:46px;

    margin:0 auto 12px;

    object-fit:contain;
}

.my-qr-name{
    display:block;

    margin-top:10px;

    color:#1726c9;
    font-size:15px;
}


@media(min-width:900px){

    .my-wallet-spend{
        display:grid;
    }

    .my-wallet .wallet-business-stats{
        grid-template-columns:repeat(3,1fr);
    }

}


@media(max-width:760px){

    .my-hero{
        align-items:flex-start;
        flex-direction:column;

        padding:22px 19px;
    }

    .my-hero-brand{
        align-items:flex-start;
    }

    .my-hero-brand > img{
        width:58px;
        height:58px;
        border-radius:16px;
    }

    .my-hero-brand h1{
        font-size:24px;
    }

    .my-hero-actions{
        width:100%;
    }

    .my-hero-actions .btn{
        flex:1;
    }

    .my-kpi-grid{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:420px){

    .my-hero-brand{
        gap:11px;
    }

    .my-kpi{
        padding:13px;
    }

    .my-kpi strong{
        font-size:20px;
    }

}


/* ===== UNIFIED BUSINESS VIEW V13 ===== */

.my-business-view{
    background:#f7f8fe;
}


.my-business-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;

    margin:2px 0 12px;

    font-size:10px;
    color:#8a91a7;
}

.my-business-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:5px;

    color:#1726c9;
    font-weight:850;
    text-decoration:none;
}

.my-business-breadcrumb b{
    color:#4c5570;
}


.my-business-hero{
    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:25px 28px;

    margin-bottom:11px;

    border-radius:25px;

    color:#fff;

    background:
      radial-gradient(
        circle at 88% 5%,
        rgba(255,255,255,.16),
        transparent 28%
      ),
      linear-gradient(
        135deg,
        #1421a9,
        #2539df 60%,
        #3549e8
      );

    box-shadow:
      0 17px 42px rgba(23,38,201,.17);
}


.my-business-hero:after{
    content:"";

    position:absolute;

    width:170px;
    height:170px;

    border-radius:50%;

    right:-60px;
    bottom:-105px;

    background:rgba(255,94,55,.78);
}


[dir="rtl"] .my-business-hero:after{
    right:auto;
    left:-60px;
}


.my-business-identity{
    position:relative;
    z-index:1;

    display:flex;
    align-items:center;
    gap:17px;
}


.my-business-logo{
    width:72px;
    height:72px;

    flex:0 0 72px;

    padding:8px;

    border-radius:19px;

    background:#fff;

    box-shadow:
      0 9px 24px rgba(0,0,0,.13);
}


.my-business-logo img{
    width:100%;
    height:100%;

    object-fit:contain;

    border-radius:12px;
}


.my-business-identity h1{
    margin:3px 0 4px;

    color:#fff;

    font-size:28px;
}


.my-business-identity p{
    margin:0;
    opacity:.83;
}


.my-business-hero .eyebrow{
    color:#ffcd53;
}


.my-business-points{
    position:relative;
    z-index:1;

    display:grid;
    justify-items:center;

    min-width:105px;

    padding:14px 18px;

    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;

    background:rgba(255,255,255,.11);

    backdrop-filter:blur(8px);
}


.my-business-points small{
    opacity:.8;

    font-size:9px;
    font-weight:800;
}


.my-business-points strong{
    font-size:33px;
    line-height:1.1;
}


.my-business-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:9px;

    margin-bottom:14px;
}


.my-business-summary article{
    display:grid;
    gap:5px;

    padding:13px 15px;

    background:#fff;

    border:1px solid #e7eaf3;
    border-radius:16px;

    box-shadow:
      0 7px 22px rgba(31,38,83,.04);
}


.my-business-summary small{
    color:#8991a7;

    font-size:9px;
    font-weight:750;
}


.my-business-summary strong{
    color:#18214c;

    font-size:17px;
}


.my-business-summary strong span{
    color:#8b92a8;
    font-size:8px;
}


/* Unified customer detail keeps existing feature panels,
   but visually belongs to Loyvia portal */

.my-business-view .panel{
    border-color:#e5e8f2;
}


.my-business-view .customer-tabs{
    background:#fff;
}


@media(max-width:700px){

    .my-business-hero{
        align-items:flex-start;
        flex-direction:column;

        padding:20px;
    }

    .my-business-points{
        width:100%;
    }

    .my-business-summary{
        grid-template-columns:1fr 1fr;
    }

    .my-business-logo{
        width:58px;
        height:58px;

        flex-basis:58px;
    }

    .my-business-identity h1{
        font-size:23px;
    }

}


@media(max-width:420px){

    .my-business-summary{
        grid-template-columns:1fr 1fr;
    }

    .my-business-identity{
        align-items:flex-start;
    }

}


/* ===== MY KPI FIVE INLINE ===== */

.my-kpi-grid{
    grid-template-columns:repeat(5,1fr) !important;
    gap:10px;
}

.my-kpi{
    min-width:0;
}

@media(max-width:900px){
    .my-kpi-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }
}

@media(max-width:480px){
    .my-kpi-grid{
        grid-template-columns:1fr !important;
    }
}


/* ===== WALLET MINI STATS STACKED ===== */

.wallet-business-stats{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.wallet-business-stat{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;

    min-width:72px;
    padding:10px 12px !important;
    text-align:center !important;
    line-height:1.15;
}

.wallet-business-stat small,
.wallet-business-stat span{
    display:block;
    font-size:10px;
    color:#7f879d;
    margin:0 !important;
}

.wallet-business-stat b,
.wallet-business-stat strong{
    display:block;
    font-size:25px;
    font-weight:800;
    color:#18214c;
    margin:0 !important;
}

@media(max-width:640px){
    .wallet-business-stat{
        min-width:64px;
        padding:8px 10px !important;
    }

    .wallet-business-stat b,
    .wallet-business-stat strong{
        font-size:14px;
    }
}


/* ===== WALLET STAT STACK FIX V2 ===== */

.my-wallet .wallet-stat{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    text-align:center !important;
}

.my-wallet .wallet-stat small{
    display:block !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:1.1;
}

.my-wallet .wallet-stat strong{
    display:block !important;
    margin:0 !important;
    font-size:16px !important;
    line-height:1.1;
}

.my-wallet .wallet-business-stats{
    align-items:stretch;
}


/* ===== CUSTOMER STATUS V17 ===== */

.customer-status-tabs{
    display:flex;
    align-items:center;
    gap:7px;

    margin-bottom:10px;

    overflow-x:auto;
}

.customer-status-tabs a{
    display:inline-flex;
    align-items:center;

    padding:7px 11px;

    border:1px solid #e2e5ee;
    border-radius:999px;

    background:#fff;

    color:#68708a;

    font-size:10px;
    font-weight:850;

    text-decoration:none;

    white-space:nowrap;
}

.customer-status-tabs a.active{
    color:#fff;
    background:#1726c9;
    border-color:#1726c9;
}


.customer-status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:57px;

    padding:5px 8px;

    border-radius:999px;

    font-size:9px;
    font-weight:900;
}

.customer-status-badge.active{
    background:#e8f8ef;
    color:#087a43;
}

.customer-status-badge.inactive{
    background:#f1f2f6;
    color:#777f94;
}


.customer-inactive-row{
    opacity:.65;
    background:#fafafa;
}


.customer-status-form{
    margin:0;
}

.customer-disable-btn{
    color:#a85050 !important;
}



/* ===== BUSINESS SOCIAL LINKS V22 ===== */

.business-social-settings{
    margin-top:16px;
}


.customer-business-links{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;

    padding:12px 15px;
    margin:10px 0 14px;

    border:1px solid #e6e9f3;
    border-radius:17px;

    background:#fff;

    box-shadow:
      0 7px 22px rgba(24,33,76,.04);
}


.customer-business-links-copy{
    display:grid;
    gap:2px;
}

.customer-business-links-copy small{
    color:#8a91a7;
    font-size:9px;
}

.customer-business-links-copy b{
    color:#17204d;
    font-size:12px;
}


.customer-social-icons{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}


.customer-social-icon{
    width:34px;
    height:34px;

    display:grid;
    place-items:center;

    border:1px solid #e1e5f0;
    border-radius:11px;

    background:#f8f9fd;

    color:#121b58;

    text-decoration:none;

    font-size:16px;
    font-weight:900;

    transition:
      transform .15s ease,
      box-shadow .15s ease,
      border-color .15s ease;
}


.customer-social-icon:hover{
    transform:translateY(-2px);

    border-color:#b9c1e7;

    box-shadow:
      0 7px 16px rgba(23,38,201,.10);
}


.customer-social-icon.maps{
    color:#df3e34;
}

.customer-social-icon.facebook{
    color:#1877f2;
}

.customer-social-icon.instagram{
    color:#c13584;
}

.customer-social-icon.snapchat{
    color:#9f8d00;
}

.customer-social-icon.tiktok{
    color:#111;
}

.customer-social-icon.x{
    color:#111;
}


@media(max-width:520px){

    .customer-business-links{
        align-items:flex-start;
        flex-direction:column;
    }

}


/* ===== BUSINESS SOCIALS INSIDE HERO V23 ===== */

.my-business-socials{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin-top:11px;
}

.my-business-socials a{
    width:32px;
    height:32px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.25);
    border-radius:10px;

    background:rgba(255,255,255,.13);
    color:#fff;

    text-decoration:none;
    font-size:15px;
    font-weight:900;

    backdrop-filter:blur(6px);

    transition:
      transform .15s ease,
      background .15s ease;
}

.my-business-socials a:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.22);
}

@media(max-width:700px){
    .my-business-socials{
        margin-top:9px;
    }
}


/* ===== MEMBER CARD SOCIALS V24 ===== */

.member-card-socials{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin:8px 0 11px;
}

.member-card-socials a{
    width:30px;
    height:30px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.32);
    border-radius:9px;

    background:rgba(255,255,255,.14);
    color:#fff;

    text-decoration:none;

    font-size:14px;
    font-weight:900;

    backdrop-filter:blur(6px);

    transition:
      transform .15s ease,
      background .15s ease;
}

.member-card-socials a:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.25);
}

@media(max-width:620px){
    .member-card-socials{
        margin-top:7px;
    }

    .member-card-socials a{
        width:29px;
        height:29px;
    }
}


/* ===== SOCIALS INSIDE BUSINESS CARD V25 ===== */

.wallet-business-socials{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;

    margin-top:8px;
}

.wallet-business-socials a{
    width:25px;
    height:25px;

    display:grid;
    place-items:center;

    flex:0 0 25px;

    border:1px solid #e1e5f0;
    border-radius:8px;

    background:#f8f9fd;
    color:#18204d;

    text-decoration:none;

    font-size:11px;
    font-weight:900;

    transition:
      transform .15s ease,
      border-color .15s ease,
      background .15s ease;
}

.wallet-business-socials a:hover{
    transform:translateY(-1px);
    border-color:#bdc5ec;
    background:#fff;
}

.wallet-business-card.current
.wallet-business-socials a{
    background:#fff;
}

@media(max-width:620px){

    .wallet-business-socials{
        gap:4px;
    }

    .wallet-business-socials a{
        width:24px;
        height:24px;
        flex-basis:24px;
    }
}

/* ===== SAFE SOCIAL CARD V26 ===== */

.wallet-business-socials{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    margin-top:7px;
}

.wallet-business-socials a{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border:1px solid #e1e5f0;
    border-radius:7px;
    background:#f8f9fd;
    color:#18204d;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}

.wallet-view-card-link{
    color:#fff;
    background:#1726c9;
    border-radius:8px;
    padding:6px 10px;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
}


/* ===== SOCIAL LABEL BUTTONS V27 ===== */

.wallet-business-socials{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
    margin-top:8px;
}

.wallet-business-socials .social-link{
    width:auto;
    height:27px;

    display:inline-flex;
    align-items:center;
    gap:4px;

    padding:0 7px;

    border:1px solid #e2e5ef;
    border-radius:8px;

    background:#f9faff;
    color:#283054;

    text-decoration:none;

    font-size:8px;
    font-weight:800;

    white-space:nowrap;

    transition:
      transform .15s ease,
      background .15s ease,
      border-color .15s ease;
}

.wallet-business-socials .social-link:hover{
    transform:translateY(-1px);
    background:#fff;
    border-color:#bbc4e7;
}

.wallet-business-socials .social-mark{
    display:inline-grid;
    place-items:center;

    min-width:13px;

    font-size:11px;
    font-weight:950;
}

.wallet-business-socials .facebook .social-mark{
    color:#1877f2;
}

.wallet-business-socials .instagram .social-mark{
    color:#c13584;
}

.wallet-business-socials .snapchat .social-mark{
    color:#aa9700;
}

.wallet-business-socials .tiktok .social-mark{
    color:#111;
}

.wallet-business-socials .x .social-mark{
    color:#111;
}

.wallet-business-socials .maps .social-mark{
    color:#d93025;
}

@media(max-width:620px){

    .wallet-business-socials .social-link{
        padding:0 6px;
        font-size:7px;
    }

}


/* ===== SOCIAL BUTTONS V28 ===== */

.wallet-business-socials{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    margin-top:9px;
}

.wallet-business-socials .social-link{
    width:auto !important;
    height:29px !important;

    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:5px;

    padding:0 8px !important;

    border:1px solid #e0e4ef;
    border-radius:9px;

    background:#f8f9fd;
    color:#29304f;

    text-decoration:none;

    font-size:9px;
    font-weight:800;

    white-space:nowrap;

    transition:
      transform .15s ease,
      background .15s ease,
      border-color .15s ease;
}

.wallet-business-socials .social-link:hover{
    transform:translateY(-1px);
    background:#fff;
    border-color:#bcc5e7;
}

.wallet-business-socials .social-mark{
    font-size:12px;
    font-weight:950;
}

.wallet-business-socials .facebook .social-mark{
    color:#1877f2;
}

.wallet-business-socials .instagram .social-mark{
    color:#c13584;
}

.wallet-business-socials .snapchat .social-mark{
    color:#a99600;
}

.wallet-business-socials .tiktok .social-mark{
    color:#111;
}

.wallet-business-socials .x .social-mark{
    color:#111;
}

@media(max-width:620px){

    .wallet-business-socials{
        gap:5px;
    }

    .wallet-business-socials .social-link{
        height:27px !important;
        padding:0 6px !important;
        font-size:8px;
    }
}


/* ===== SMART INSIGHTS V29 ===== */

.smart-growth-hero{
    position:relative;
    overflow:hidden;

    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:30px;

    align-items:center;

    margin:16px 0;
    padding:26px 28px;

    border-radius:24px;

    color:#fff;

    background:
      radial-gradient(
        circle at 90% 10%,
        rgba(255,255,255,.13),
        transparent 26%
      ),
      linear-gradient(
        135deg,
        #1726c9,
        #293ce0
      );

    box-shadow:
      0 16px 42px rgba(23,38,201,.17);
}


.smart-growth-hero:after{
    content:"";

    position:absolute;

    width:190px;
    height:190px;

    border-radius:50%;

    right:-70px;
    bottom:-125px;

    background:rgba(255,99,57,.75);
}


[dir="rtl"] .smart-growth-hero:after{
    right:auto;
    left:-70px;
}


.smart-growth-copy,
.smart-growth-value{
    position:relative;
    z-index:1;
}


.smart-growth-copy .eyebrow{
    color:#ffd25b;
}


.smart-growth-copy h2{
    margin:5px 0 8px;

    color:#fff;
    font-size:29px;
}


.smart-growth-copy p{
    max-width:680px;

    margin:0;

    font-size:12px;
    line-height:1.8;

    color:rgba(255,255,255,.90);
}


.smart-growth-copy > small{
    display:block;

    margin-top:7px;

    color:rgba(255,255,255,.62);
    font-size:9px;
}


.smart-growth-value{
    min-width:190px;

    display:grid;
    justify-items:center;

    padding:17px 20px;

    border:1px solid rgba(255,255,255,.21);
    border-radius:18px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(7px);
}


.smart-growth-value > span{
    font-size:9px;
    opacity:.75;
}


.smart-growth-value strong{
    margin-top:4px;

    font-size:31px;
    line-height:1;
}


.smart-growth-value > small{
    margin:3px 0 12px;
    opacity:.75;
}


.smart-growth-value .btn{
    width:100%;
    justify-content:center;

    color:#1726c9;
    background:#fff;
    border-color:#fff;
}


.rfm-action-panel{
    margin-bottom:16px;
}


.rfm-action-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:10px;

    margin-top:15px;
}


.rfm-action-card{
    position:relative;

    display:flex;
    flex-direction:column;

    min-width:0;

    padding:16px;

    border:1px solid #e6e9f2;
    border-radius:18px;

    background:#fff;

    box-shadow:
      0 7px 22px rgba(31,38,83,.035);
}


.rfm-action-card.risk{
    border-color:#ffd7d0;
    background:#fffaf9;
}


.rfm-action-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
}


.rfm-action-icon{
    width:33px;
    height:33px;

    display:grid;
    place-items:center;

    border-radius:10px;

    background:#f1f3ff;

    color:#1726c9;

    font-size:14px;
    font-weight:900;
}


.rfm-action-count{
    color:#151e52;

    font-size:26px;
    font-weight:950;
}


.rfm-action-card h3{
    margin:11px 0 5px;

    color:#18214d;
    font-size:14px;
}


.rfm-action-card p{
    flex:1;

    margin:0;

    color:#747c92;

    font-size:10px;
    line-height:1.6;
}


.rfm-action-value{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:10px;

    margin-top:13px;
    padding-top:10px;

    border-top:1px solid #edf0f5;
}


.rfm-action-value small{
    color:#9298aa;
    font-size:8px;
}


.rfm-action-value b{
    color:#1726c9;

    font-size:12px;
    white-space:nowrap;
}


.rfm-action-button{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-top:10px;

    padding:8px 10px;

    border-radius:10px;

    background:#f4f6ff;

    color:#1726c9;

    text-decoration:none;

    font-size:9px;
    font-weight:900;
}


.rfm-action-button:hover{
    background:#e9edff;
}


@media(max-width:900px){

    .rfm-action-grid{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:650px){

    .smart-growth-hero{
        grid-template-columns:1fr;
        padding:21px 18px;
    }

    .smart-growth-value{
        width:auto;
    }

    .rfm-action-grid{
        grid-template-columns:1fr;
    }

}

/* ===== LOYVIA ROI REPORT V31 ===== */

.roi-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:22px;
    align-items:center;

    margin:16px 0;
    padding:26px 28px;

    border-radius:24px;

    background:
      radial-gradient(circle at 90% 10%,rgba(255,255,255,.14),transparent 28%),
      linear-gradient(135deg,#111d83,#263ad6);

    color:#fff;

    box-shadow:0 18px 42px rgba(20,35,150,.14);
}

.roi-hero-copy > span{
    font-size:10px;
    font-weight:900;
    opacity:.75;
}

.roi-hero-copy > strong{
    display:block;

    margin:7px 0;

    font-size:39px;
    line-height:1;
}

.roi-hero-copy strong small{
    font-size:12px;
    opacity:.7;
}

.roi-hero-copy p{
    max-width:700px;
    margin:0;

    font-size:10px;
    line-height:1.8;

    color:rgba(255,255,255,.76);
}

.roi-hero-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.roi-hero-side > div{
    padding:14px;

    border:1px solid rgba(255,255,255,.16);
    border-radius:15px;

    background:rgba(255,255,255,.09);
}

.roi-hero-side small{
    display:block;
    margin-bottom:6px;

    color:rgba(255,255,255,.65);
    font-size:8px;
}

.roi-hero-side b{
    font-size:15px;
}

.roi-kpi-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:10px;
    margin-bottom:16px;
}

.roi-kpi{
    position:relative;

    padding:17px;

    border:1px solid #e4e8f2;
    border-radius:18px;

    background:#fff;

    box-shadow:0 7px 24px rgba(24,34,84,.035);
}

.roi-icon{
    width:34px;
    height:34px;

    display:grid;
    place-items:center;

    margin-bottom:11px;

    border-radius:11px;

    background:#f1f3ff;

    font-size:14px;
}

.roi-kpi > small{
    display:block;

    color:#777f96;

    font-size:9px;
    font-weight:800;
}

.roi-kpi > strong{
    display:block;

    margin:6px 0;

    color:#111b51;

    font-size:25px;
}

.roi-kpi strong em{
    font-style:normal;

    color:#8b92a6;

    font-size:9px;
}

.roi-kpi p{
    margin:0;

    color:#8a91a4;

    font-size:9px;
    line-height:1.6;
}

.roi-retention-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:10px;
    margin-top:14px;
}

.roi-retention-grid > div{
    padding:14px;

    border:1px solid #eaedf4;
    border-radius:15px;

    background:#fafbff;
}

.roi-retention-grid small{
    display:block;

    color:#8b91a2;

    font-size:8px;
}

.roi-retention-grid strong{
    display:block;

    margin:6px 0;

    color:#111b51;

    font-size:21px;
}

.roi-retention-grid span{
    color:#7a8194;
    font-size:8px;
}

.positive{
    color:#159447 !important;
}

.negative{
    color:#d84444 !important;
}

.roi-method-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:12px;
    margin-top:12px;
}

.roi-method-grid > div{
    padding:14px;

    border-radius:14px;

    background:#f8f9fc;
}

.roi-method-grid b{
    color:#172052;
    font-size:10px;
}

.roi-method-grid p{
    margin:5px 0 0;

    color:#858c9e;

    font-size:9px;
    line-height:1.7;
}

@media(max-width:900px){

    .roi-hero{
        grid-template-columns:1fr;
    }

    .roi-kpi-grid{
        grid-template-columns:1fr 1fr;
    }

    .roi-retention-grid{
        grid-template-columns:1fr 1fr;
    }

    .roi-method-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){

    .roi-kpi-grid{
        grid-template-columns:1fr;
    }

    .roi-retention-grid{
        grid-template-columns:1fr;
    }

    .roi-hero-side{
        grid-template-columns:1fr;
    }
}

/* ===== STAFF PERFORMANCE V33 ===== */

.staff-performance-panel{
    margin-bottom:16px;
}

.staff-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:10px;
    margin:14px 0;
}

.staff-summary-grid > div{
    padding:15px;

    border:1px solid #e7eaf3;
    border-radius:16px;

    background:#fafbff;
}

.staff-summary-grid small{
    display:block;

    margin-bottom:5px;

    color:#858ca0;
    font-size:8px;
}

.staff-summary-grid strong{
    color:#152052;
    font-size:23px;
}

.staff-summary-grid span{
    margin-inline-start:4px;

    color:#9399aa;
    font-size:8px;
}

.staff-performance-table{
    margin-top:12px;
}

.staff-performance-table table{
    min-width:900px;
}

.staff-person{
    display:flex;
    align-items:center;
    gap:8px;
}

.staff-person-avatar{
    width:33px;
    height:33px;

    display:grid;
    place-items:center;

    flex:0 0 33px;

    border-radius:10px;

    background:#eef1ff;
    color:#1726c9;

    font-weight:950;
}

.staff-person b,
.staff-person small{
    display:block;
}

.staff-person small{
    margin-top:2px;

    color:#9096a7;
    font-size:8px;
}

.staff-rating{
    color:#b88600;
    font-weight:900;
}

.staff-performance-note{
    margin:11px 0 0;

    color:#898fa1;

    font-size:8px;
    line-height:1.7;
}

@media(max-width:900px){

    .staff-summary-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:520px){

    .staff-summary-grid{
        grid-template-columns:1fr;
    }

}

/* ===== TEAM FORM SIZE V34 ===== */

#branches .form-grid.compact input,
#branches .form-grid.compact select,
#branches .form-grid.compact button,

.admin-team-page .form-grid.compact input,
.admin-team-page .form-grid.compact select,
.admin-team-page .form-grid.compact button,

.staff-editor input,
.staff-editor select,
.staff-editor button{
    height:44px;
    min-height:44px;
    box-sizing:border-box;
}


/* Smaller text inside inputs/selects */

#branches .form-grid.compact input,
#branches .form-grid.compact select,

.staff-editor input,
.staff-editor select,

form[action$="/admin/staff"] input,
form[action$="/admin/staff"] select{
    font-size:11px !important;
}


/* Orange action buttons same visual size as textboxes */

#branches .form-grid.compact .btn,
form[action$="/admin/staff"] .btn,
.staff-editor .btn{
    height:44px !important;
    min-height:44px !important;

    padding:0 16px !important;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    line-height:1.2;

    font-size:11px !important;

    border-radius:11px;
    white-space:nowrap;
}


/* Save button should not be tiny anymore */

.staff-editor .btn.small{
    height:44px !important;
    min-height:44px !important;

    padding:0 16px !important;

    font-size:11px !important;
}


/* Placeholder slightly smaller */

#branches input::placeholder,
form[action$="/admin/staff"] input::placeholder,
.staff-editor input::placeholder{
    font-size:10px;
}


/* Mobile */

@media(max-width:700px){

    #branches .form-grid.compact input,
    #branches .form-grid.compact select,
    #branches .form-grid.compact button,
    form[action$="/admin/staff"] input,
    form[action$="/admin/staff"] select,
    form[action$="/admin/staff"] button,
    .staff-editor input,
    .staff-editor select,
    .staff-editor button{
        height:42px !important;
        min-height:42px !important;
    }

}


/* ===== REFERRAL PRO V35 ===== */

.referral-share-pro{
    margin-top:14px;
    padding-top:13px;

    border-top:1px solid #eceef5;
}

.referral-link-box small{
    display:block;

    margin-bottom:5px;

    color:#8a91a4;
    font-size:9px;
}

.referral-personal-link{
    display:block;

    overflow:hidden;

    padding:9px 10px;

    border:1px solid #e3e7f0;
    border-radius:10px;

    background:#f8f9fd;

    color:#192257;

    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.referral-share-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;

    margin-top:8px;
}

.referral-share-actions .btn{
    min-height:38px;
    padding:0 12px;

    font-size:9px;
}

.referral-qr-pro{
    display:flex;
    align-items:center;
    gap:13px;

    margin-top:13px;
    padding:12px;

    border:1px solid #e5e8f2;
    border-radius:14px;

    background:#fff;
}

.referral-qr-pro img{
    width:78px;
    height:78px;

    padding:5px;

    border:1px solid #eceef5;
    border-radius:10px;

    background:#fff;
}

.referral-qr-pro b{
    display:block;

    color:#172052;
    font-size:10px;
}

.referral-qr-pro p{
    margin:4px 0 0;

    color:#858c9f;

    font-size:8px;
    line-height:1.6;
}


/* ADMIN */

.referral-admin-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:10px;

    margin:16px 0;
}

.referral-admin-kpis article{
    padding:16px;

    border:1px solid #e5e8f1;
    border-radius:17px;

    background:#fff;

    box-shadow:0 7px 22px rgba(25,35,85,.035);
}

.referral-admin-kpis small{
    display:block;

    color:#858c9f;

    font-size:8px;
    font-weight:800;
}

.referral-admin-kpis strong{
    display:block;

    margin:7px 0 5px;

    color:#152052;

    font-size:25px;
}

.referral-admin-kpis strong em{
    font-style:normal;

    color:#8d94a7;
    font-size:9px;
}

.referral-admin-kpis p{
    margin:0;

    color:#8b92a4;

    font-size:8px;
    line-height:1.6;
}

.referral-ranking-panel{
    margin-bottom:16px;
}

.referral-rule-flow{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:8px;

    margin:14px 0;
}

.referral-rule-flow > div{
    display:flex;
    align-items:center;
    gap:9px;

    padding:13px;

    border:1px solid #e8eaf3;
    border-radius:14px;

    background:#fafbff;
}

.referral-rule-flow > div > span{
    width:29px;
    height:29px;

    display:grid;
    place-items:center;

    flex:0 0 29px;

    border-radius:9px;

    background:#1726c9;
    color:#fff;

    font-size:10px;
    font-weight:900;
}

.referral-rule-flow b{
    color:#202958;

    font-size:9px;
    line-height:1.5;
}


@media(max-width:900px){

    .referral-admin-kpis{
        grid-template-columns:1fr 1fr;
    }

    .referral-rule-flow{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:540px){

    .referral-admin-kpis,
    .referral-rule-flow{
        grid-template-columns:1fr;
    }

    .referral-share-actions{
        flex-direction:column;
    }

    .referral-share-actions .btn{
        width:100%;
    }

}

/* ===== BEHAVIOR REWARDS V36 ===== */

.behavior-engine{
    margin-bottom:16px;
}

.behavior-presets{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin:16px 0;
}

.behavior-preset{
    appearance:none;
    text-align:inherit;

    min-height:100px;
    padding:14px;

    border:1px solid #e4e7f1;
    border-radius:16px;

    background:#fff;
    color:#172052;

    cursor:pointer;
}

.behavior-preset:hover{
    border-color:#bdc6f2;
    background:#fafbff;
}

.behavior-preset > span{
    width:34px;
    height:34px;

    display:grid;
    place-items:center;

    margin-bottom:8px;

    border-radius:10px;

    background:#eef1ff;
    color:#1726c9;

    font-size:11px;
    font-weight:950;
}

.behavior-preset b,
.behavior-preset small{
    display:block;
}

.behavior-preset b{
    font-size:11px;
}

.behavior-preset small{
    margin-top:3px;
    color:#8b91a4;
    font-size:8px;
}

.referral-existing{
    cursor:default;
    background:#f8fff9;
}

.behavior-rule-form{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;

    margin:18px 0;
    padding:16px;

    border:1px solid #e5e8f1;
    border-radius:18px;

    background:#fafbfe;
}

.behavior-rule-form label{
    display:grid;
    gap:5px;

    color:#626a82;
    font-size:9px;
    font-weight:800;
}

.behavior-rule-form input,
.behavior-rule-form select{
    height:42px;
    box-sizing:border-box;

    font-size:10px;
}

.behavior-check{
    display:flex !important;
    align-items:center;
    gap:7px;

    min-height:42px;
}

.behavior-check input{
    width:auto;
    height:auto;
}

.behavior-create{
    min-height:42px;
    align-self:end;
}

.behavior-active-rules{
    margin-top:18px;
}

.behavior-active-rules h3{
    margin-bottom:9px;
    color:#172052;
    font-size:13px;
}

.behavior-rule-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;

    padding:13px 14px;

    border:1px solid #e8eaf2;
    border-radius:14px;

    margin-bottom:7px;

    background:#fff;
}

.behavior-rule-card b{
    color:#172052;
    font-size:10px;
}

.behavior-rule-card p{
    margin:4px 0 0;

    color:#858c9e;
    font-size:8px;
    line-height:1.6;
}

.behavior-rule-reward{
    display:flex;
    align-items:center;
    gap:4px;

    white-space:nowrap;
}

.behavior-rule-reward strong{
    color:#1726c9;
    font-size:18px;
}

.behavior-rule-reward span{
    padding:5px 7px;
    border-radius:8px;

    background:#eef1ff;
    color:#1726c9;

    font-size:10px;
    font-weight:900;
}

.behavior-rule-reward small{
    color:#9096a8;
    font-size:8px;
}


@media(max-width:950px){

    .behavior-presets{
        grid-template-columns:1fr 1fr;
    }

    .behavior-rule-form{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:560px){

    .behavior-presets,
    .behavior-rule-form{
        grid-template-columns:1fr;
    }
}

/* ===== BEHAVIOR REWARDS V36 ===== */

.behavior-engine{
    margin-bottom:16px;
}

.behavior-presets{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin:16px 0;
}

.behavior-preset{
    appearance:none;
    text-align:inherit;

    min-height:100px;
    padding:14px;

    border:1px solid #e4e7f1;
    border-radius:16px;

    background:#fff;
    color:#172052;

    cursor:pointer;
}

.behavior-preset:hover{
    border-color:#bdc6f2;
    background:#fafbff;
}

.behavior-preset > span{
    width:34px;
    height:34px;

    display:grid;
    place-items:center;

    margin-bottom:8px;

    border-radius:10px;

    background:#eef1ff;
    color:#1726c9;

    font-size:11px;
    font-weight:950;
}

.behavior-preset b,
.behavior-preset small{
    display:block;
}

.behavior-preset b{
    font-size:11px;
}

.behavior-preset small{
    margin-top:3px;
    color:#8b91a4;
    font-size:8px;
}

.referral-existing{
    cursor:default;
    background:#f8fff9;
}

.behavior-rule-form{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;

    margin:18px 0;
    padding:16px;

    border:1px solid #e5e8f1;
    border-radius:18px;

    background:#fafbfe;
}

.behavior-rule-form label{
    display:grid;
    gap:5px;

    color:#626a82;
    font-size:9px;
    font-weight:800;
}

.behavior-rule-form input,
.behavior-rule-form select{
    height:42px;
    box-sizing:border-box;

    font-size:10px;
}

.behavior-check{
    display:flex !important;
    align-items:center;
    gap:7px;

    min-height:42px;
}

.behavior-check input{
    width:auto;
    height:auto;
}

.behavior-create{
    min-height:42px;
    align-self:end;
}

.behavior-active-rules{
    margin-top:18px;
}

.behavior-active-rules h3{
    margin-bottom:9px;
    color:#172052;
    font-size:13px;
}

.behavior-rule-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;

    padding:13px 14px;

    border:1px solid #e8eaf2;
    border-radius:14px;

    margin-bottom:7px;

    background:#fff;
}

.behavior-rule-card b{
    color:#172052;
    font-size:10px;
}

.behavior-rule-card p{
    margin:4px 0 0;

    color:#858c9e;
    font-size:8px;
    line-height:1.6;
}

.behavior-rule-reward{
    display:flex;
    align-items:center;
    gap:4px;

    white-space:nowrap;
}

.behavior-rule-reward strong{
    color:#1726c9;
    font-size:18px;
}

.behavior-rule-reward span{
    padding:5px 7px;
    border-radius:8px;

    background:#eef1ff;
    color:#1726c9;

    font-size:10px;
    font-weight:900;
}

.behavior-rule-reward small{
    color:#9096a8;
    font-size:8px;
}


@media(max-width:950px){

    .behavior-presets{
        grid-template-columns:1fr 1fr;
    }

    .behavior-rule-form{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:560px){

    .behavior-presets,
    .behavior-rule-form{
        grid-template-columns:1fr;
    }
}

/* ===== REPUTATION & RECOVERY V37 ===== */

.reputation-result{
    display:flex;
    align-items:flex-start;
    gap:12px;

    margin:0 0 16px;
    padding:15px;

    border-radius:16px;
}

.reputation-result.positive{
    border:1px solid #d5eddb;
    background:#f5fff7;
}

.reputation-result.recovery{
    border:1px solid #ffdcd4;
    background:#fff8f6;
}

.reputation-result-icon{
    width:36px;
    height:36px;

    display:grid;
    place-items:center;

    flex:0 0 36px;

    border-radius:11px;

    background:#fff;
    color:#1726c9;

    font-size:16px;
    font-weight:900;
}

.reputation-result b{
    color:#172052;
    font-size:11px;
}

.reputation-result p{
    margin:4px 0 9px;

    color:#777f94;

    font-size:9px;
    line-height:1.7;
}

.reputation-google-btn{
    min-height:38px;
    font-size:9px;
}

.reputation-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:10px;
    margin:0 0 16px;
}

.reputation-kpis > div{
    padding:14px;

    border:1px solid #e5e8f1;
    border-radius:15px;

    background:#fff;
}

.reputation-kpis small{
    display:block;

    color:#858c9f;
    font-size:8px;
}

.reputation-kpis strong{
    display:block;

    margin-top:5px;

    color:#172052;
    font-size:22px;
}

@media(max-width:650px){

    .reputation-kpis{
        grid-template-columns:1fr;
    }

}

/* ===== NPS CONTROL V37.4 ===== */

.nps-scale label{
    cursor:pointer;
}

.nps-scale label span{
    transition:
        background .15s ease,
        color .15s ease,
        border-color .15s ease,
        transform .15s ease;
}

.nps-scale label:hover span{
    border-color:#172052;
    transform:translateY(-1px);
}

.nps-scale label.selected span,
.nps-scale input:checked + span{
    background:#172052 !important;
    border-color:#172052 !important;
    color:#fff !important;
    font-weight:900;
}

.nps-selected-status{
    margin-top:7px;
    padding:7px 10px;

    border-radius:9px;

    background:#f5f6fb;
    color:#172052;

    font-size:9px;
    font-weight:800;
}

/* ===== WHATSAPP AUTOMATION V38 ===== */

.whatsapp-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.whatsapp-kpis > div{
    padding:15px;
    border:1px solid #e6e9f2;
    border-radius:16px;
    background:#fff;
}

.whatsapp-kpis small{
    display:block;
    color:#838a9f;
    font-size:8px;
}

.whatsapp-kpis strong{
    display:block;
    margin-top:4px;
    color:#172052;
    font-size:23px;
}

.whatsapp-rule-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.whatsapp-rule-card{
    display:flex;
    justify-content:space-between;
    gap:15px;

    padding:14px;

    border:1px solid #e5e8f1;
    border-radius:15px;

    background:#fff;
}

.whatsapp-rule-card.inactive{
    opacity:.58;
}

.whatsapp-rule-card b{
    display:block;
    margin-top:7px;

    color:#172052;
    font-size:10px;
}

.whatsapp-rule-card p{
    margin:5px 0 0;

    color:#7d8498;
    font-size:8px;
    line-height:1.7;
}

.whatsapp-queue-list{
    display:grid;
    gap:8px;
}

.whatsapp-queue-row{
    display:grid;
    grid-template-columns:180px minmax(240px,1fr) auto;
    gap:12px;
    align-items:center;

    padding:12px;

    border:1px solid #e6e9f1;
    border-radius:14px;

    background:#fff;
}

.whatsapp-queue-customer{
    display:grid;
    gap:3px;
}

.whatsapp-queue-customer b{
    color:#172052;
    font-size:10px;
}

.whatsapp-queue-customer small{
    color:#80879a;
    font-size:8px;
}

.whatsapp-message-preview{
    padding:10px;

    border-radius:10px;
    background:#f7f8fc;

    color:#555d73;

    font-size:9px;
    line-height:1.7;
}

.whatsapp-queue-actions{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
}

@media(max-width:900px){

    .whatsapp-rule-grid{
        grid-template-columns:1fr;
    }

    .whatsapp-queue-row{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){

    .whatsapp-kpis{
        grid-template-columns:1fr;
    }
}

/* ===== ADMIN CLEANUP V39 ===== */

.sidebar nav{
    display:flex;
    flex-direction:column;
}

.nav-section-label{
    display:block;
    margin:18px 12px 6px;
    padding-bottom:5px;

    color:rgba(255,255,255,.48);

    font-size:7px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.sidebar nav a{
    position:relative;
}

.sidebar nav .nav-icon{
    display:inline-flex;
    justify-content:center;
    align-items:center;

    width:20px;
    min-width:20px;

    opacity:.9;
}

.sidebar nav a.active{
    font-weight:800;
}

.sidebar nav a.active::before{
    content:"";

    position:absolute;
    inset-inline-start:0;
    top:8px;
    bottom:8px;

    width:3px;
    border-radius:5px;

    background:currentColor;
}

.page-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.page-head-actions form{
    margin:0;
}

.admin-main .page-head{
    gap:18px;
}

.admin-main .page-head > div:first-child h1{
    margin-top:3px;
}

.admin-main .page-head .muted{
    max-width:760px;
}

.admin-main .panel{
    overflow:hidden;
}

.admin-main table th{
    white-space:nowrap;
}

.admin-main table td{
    vertical-align:middle;
}

@media(max-width:900px){

    .nav-section-label{
        display:none;
    }

    .page-head-actions{
        width:100%;
        justify-content:flex-start;
    }
}

@media(max-width:640px){

    .page-head-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .page-head-actions .btn{
        width:100%;
        justify-content:center;
    }
}

/* ===== SIDEBAR SECTION TITLES V39.1 ===== */

.nav-section-label{
    margin:20px 12px 8px;
    padding-bottom:6px;

    font-size:10px !important;
    font-weight:800 !important;
    line-height:1.4;

    letter-spacing:0 !important;
    text-transform:none !important;

    color:rgba(255,255,255,.72) !important;

    border-bottom:1px solid rgba(255,255,255,.10);
}

[dir="rtl"] .nav-section-label{
    text-align:right;
}


/* ===== SIDEBAR GROUP HEADERS V39.2 ===== */

.sidebar{
    padding-top:14px;
}

.sidebar nav{
    gap:2px;
}

.nav-section-label{
    display:flex !important;
    align-items:center;
    gap:7px;

    margin:14px 8px 6px !important;
    padding:8px 10px !important;

    border:1px solid rgba(255,255,255,.11) !important;
    border-bottom:1px solid rgba(255,255,255,.11) !important;
    border-radius:9px;

    background:rgba(255,255,255,.055);

    color:rgba(255,255,255,.86) !important;

    font-size:9px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
}

.nav-section-label::before{
    content:"›";

    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:16px;
    height:16px;

    border-radius:50%;

    background:rgba(255,255,255,.09);

    color:#fff;

    font-size:13px;
    font-weight:900;
    line-height:1;
}

[dir="rtl"] .nav-section-label::before{
    content:"‹";
}

/* Main menu links */
.sidebar nav a{
    min-height:36px;
    margin:0 4px;
    padding:8px 10px;

    border-radius:9px;

    font-size:10px;
}

.sidebar nav a .nav-icon{
    width:18px;
    min-width:18px;
    font-size:11px;
}

/* Reduce excess spacing around active menu */
.sidebar nav a.active{
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}

/* Make active indicator cleaner */
.sidebar nav a.active::before{
    top:7px;
    bottom:7px;
    width:3px;
}

/* Brand takes less vertical space */
.side-brand{
    padding-bottom:12px;
    margin-bottom:6px;
}

.side-brand img{
    width:42px;
    height:42px;
}

.side-brand b{
    font-size:11px;
}

.side-brand small{
    font-size:8px;
}

/* Footer buttons */
.side-foot{
    gap:6px;
    padding-top:8px;
}

.side-foot a{
    min-height:34px;
}

/* Keep scrolling only when actually needed */
.sidebar{
    overflow-y:auto;
    scrollbar-width:thin;
}

.sidebar::-webkit-scrollbar{
    width:5px;
}

.sidebar::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.22);
    border-radius:10px;
}

.sidebar::-webkit-scrollbar-track{
    background:transparent;
}


/* ===== SIDEBAR ACCORDION V39.3 ===== */

.nav-group-toggle{
    width:calc(100% - 16px);
    border:1px solid rgba(255,255,255,.12);
    cursor:pointer;
    justify-content:space-between;
    font-family:inherit;
}

.nav-group-toggle:hover{
    background:rgba(255,255,255,.09);
}

.nav-group-arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:18px;
    height:18px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    font-size:12px;
    line-height:1;

    transition:transform .18s ease;
}

.nav-group-toggle.collapsed .nav-group-arrow{
    transform:rotate(-90deg);
}

[dir="rtl"] .nav-group-toggle.collapsed .nav-group-arrow{
    transform:rotate(90deg);
}

.nav-group{
    display:flex;
    flex-direction:column;
    gap:2px;

    overflow:hidden;
    max-height:700px;
    opacity:1;

    transition:
        max-height .22s ease,
        opacity .18s ease,
        margin .18s ease;
}

.nav-group.collapsed{
    max-height:0;
    opacity:0;
    margin:0;
}

.nav-group > a{
    margin-inline-start:8px;
}

.nav-group > a.active{
    margin-inline-start:4px;
}

/* Overview heading should remain simple, not clickable */
.sidebar nav > .nav-section-label:not(.nav-group-toggle){
    cursor:default;
}


/* ===== SIDEBAR SCROLL FIX V39.4 ===== */

.sidebar{
    height:calc(100vh - 30px);
    max-height:calc(100vh - 30px);

    display:flex;
    flex-direction:column;

    overflow:hidden !important;
}

.side-brand{
    flex:0 0 auto;
}

.sidebar nav{
    flex:1 1 auto;
    min-height:0;

    overflow-y:auto;
    overflow-x:hidden;

    padding-bottom:12px;

    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
}

.sidebar nav::-webkit-scrollbar{
    width:5px;
}

.sidebar nav::-webkit-scrollbar-track{
    background:transparent;
}

.sidebar nav::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.22);
    border-radius:10px;
}

.side-foot{
    flex:0 0 auto;

    padding-top:9px;
    padding-bottom:0;

    background:#17205f;
    border-top:1px solid rgba(255,255,255,.08);
}

/* Keep last menu item clear of footer */
.sidebar nav > *:last-child{
    margin-bottom:10px;
}


/* ===== SETTINGS CLEANUP V39B ===== */

.settings-grid{
    align-items:start;
}

.settings-grid > .panel{
    position:relative;
}

.settings-grid > .panel > h2{
    margin-top:0;
    margin-bottom:14px;
}

.settings-grid label{
    display:grid;
    gap:6px;
}

.settings-grid input,
.settings-grid select{
    width:100%;
}

.subscription-card{
    border-radius:14px;
}

.business-social-settings .form-grid{
    gap:12px;
}

.business-social-settings label{
    padding:10px;
    border:1px solid #e8eaf2;
    border-radius:12px;
    background:#fff;
}

@media(max-width:700px){

    .settings-grid{
        grid-template-columns:1fr !important;
    }

    .page-head .inline{
        width:100%;
        justify-content:flex-start;
    }
}


/* ===== AUDIT CLEANUP V39C ===== */

.audit-wrap{
    max-height:620px;
    overflow:auto;
}

.audit-wrap table{
    min-width:900px;
}

.audit-wrap thead th{
    position:sticky;
    top:0;
    z-index:2;

    background:#f8f9fc;
}

.audit-details{
    max-width:360px;
    white-space:normal;
    line-height:1.6;
}

.audit-action-pill{
    white-space:nowrap;
}

.filterbar{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;

    margin-bottom:14px;
}

.filterbar input{
    flex:1 1 260px;
}

.filterbar select{
    min-width:180px;
}

@media(max-width:700px){

    .filterbar{
        display:grid;
        grid-template-columns:1fr;
    }

    .filterbar input,
    .filterbar select,
    .filterbar .btn{
        width:100%;
    }
}


/* ===== RECOVERY HISTORY V39D ===== */

.recovery-history-panel{
    margin-top:18px;
}

.recovery-history-wrap{
    max-height:520px;
    overflow:auto;
}

.recovery-history-wrap table{
    min-width:980px;
}

.recovery-history-wrap thead th{
    position:sticky;
    top:0;
    z-index:2;
    background:#f8f9fc;
}

.recovery-history-note{
    min-width:240px;
    max-width:380px;
    white-space:normal;
    line-height:1.65;
}

.recovery-history-phone{
    display:block;
    margin-top:4px;
}

.recovery-form input[name="recovery_note"]{
    min-width:220px;
}


/* ===== CUSTOMER 360 ACTIONS + POLISH V40.1 ===== */

.customer360-actions{
    margin-bottom:18px;
}

.customer360-action-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
}

.customer360-action-card{
    border:1px solid #e7e9f2;
    border-radius:14px;
    background:#fff;
    padding:12px;
}

.customer360-action-card summary{
    cursor:pointer;
    font-weight:800;
    color:#17205f;
    list-style:none;
}

.customer360-action-card summary::-webkit-details-marker{
    display:none;
}

.customer360-action-card[open] summary{
    margin-bottom:14px;
    padding-bottom:10px;
    border-bottom:1px solid #eceef4;
}

.customer360-action-form{
    display:grid;
    gap:10px;
}

.customer360-action-form label{
    display:grid;
    gap:5px;
}

.customer360-action-form .check-row{
    display:flex;
    align-items:center;
    gap:8px;
}

.customer360-action-form .check-row input{
    width:auto;
}

.customer360-action-link{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:10px;
}

.customer360-action-link small{
    text-align:center;
}

.customer360-saved{
    margin-bottom:14px;
}


/* Compact empty states inside Customer 360 */

.customer360-list .empty-state,
.customer360-feedback-grid .empty-state,
.customer360-mini-table .empty-state,
.customer360-two-col .empty-state{
    min-height:0 !important;
    padding:12px !important;
    margin:0 !important;
}

.customer360-list > .empty-state,
.customer360-feedback-grid > .empty-state{
    background:#f8faf9 !important;
    border:1px dashed #dde5e0;
    border-radius:10px;
}


/* Reduce vertical space for empty panels */

.customer360-list:has(> .empty-state){
    min-height:0;
}

.customer360-feedback-grid:has(> .empty-state){
    min-height:0;
}


@media(max-width:700px){

    .customer360-action-grid{
        grid-template-columns:1fr;
    }

}


/* ===== COMPACT CUSTOMER 360 V40.4 ===== */

.customer360-collapsible{
    padding:0;
    overflow:hidden;
}

.customer360-section-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    padding:16px 18px;
    list-style:none;
    font-size:18px;
    font-weight:800;
    color:#17205f;
}

.customer360-section-summary::-webkit-details-marker{
    display:none;
}

.customer360-section-summary::after{
    content:"⌄";
    font-size:18px;
    opacity:.65;
    transition:transform .2s ease;
}

.customer360-collapsible[open] > .customer360-section-summary::after{
    transform:rotate(180deg);
}

.customer360-collapsible[open] > .customer360-section-summary{
    border-bottom:1px solid #eceef4;
}

.customer360-section-count{
    margin-inline-start:auto;
    min-width:26px;
    height:26px;
    padding:0 8px;
    border-radius:999px;
    display:inline-grid;
    place-items:center;
    background:#f1f3f8;
    font-size:12px;
    font-weight:800;
}

.customer360-collapsible > :not(summary){
    margin-left:18px;
    margin-right:18px;
}

.customer360-collapsible > .table-wrap,
.customer360-collapsible > .customer360-list,
.customer360-collapsible > .customer360-feedback-grid,
.customer360-collapsible > p,
.customer360-collapsible > h3,
.customer360-collapsible > hr{
    margin-top:14px;
    margin-bottom:14px;
}

.customer360-empty{
    padding:10px 12px;
    border:1px dashed #dfe3eb;
    border-radius:10px;
    background:#fafbfc;
    text-align:center;
    color:#7b8090;
    font-size:13px;
}

.customer360-table-empty{
    text-align:center;
    padding:16px !important;
    color:#7b8090;
    background:#fafbfc;
}

.customer360-collapsible:not([open]){
    min-height:0;
}

.customer360-two-col{
    align-items:start;
}

@media(max-width:850px){
    .customer360-section-summary{
        padding:14px;
        font-size:16px;
    }
}


/* ===== CUSTOMER TIMELINE V41 ===== */

.customer-timeline{
    position:relative;
    display:grid;
    gap:0;
    padding:6px 4px 10px;
}

.timeline-event{
    position:relative;
    display:grid;
    grid-template-columns:44px 1fr;
    gap:12px;
    padding:12px 0;
}

.timeline-event:not(:last-child)::before{
    content:"";
    position:absolute;
    top:48px;
    bottom:-4px;
    width:2px;
    background:#e7e9f1;
}

[dir="rtl"] .timeline-event:not(:last-child)::before{
    right:21px;
}

[dir="ltr"] .timeline-event:not(:last-child)::before{
    left:21px;
}

.timeline-marker{
    position:relative;
    z-index:1;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid #e5e8f0;
    background:#fff;
    font-size:18px;
}

.timeline-content{
    min-width:0;
    padding:10px 12px;
    border:1px solid #eceef4;
    border-radius:13px;
    background:#fff;
}

.timeline-event-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:6px;
}

.timeline-event-head time{
    white-space:nowrap;
    color:#85899a;
    font-size:12px;
}

.timeline-content p{
    margin:5px 0;
    line-height:1.6;
}

.timeline-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
}

.timeline-purchase .timeline-marker{
    background:#f3f8ff;
}

.timeline-redeem .timeline-marker{
    background:#fff8e9;
}

.timeline-feedback .timeline-marker{
    background:#fff9e8;
}

.timeline-voice .timeline-marker{
    background:#f4f3ff;
}

.timeline-recovery .timeline-marker{
    background:#eefaf4;
}

.timeline-campaign_sent .timeline-marker,
.timeline-campaign_redeemed .timeline-marker{
    background:#fff3f4;
}

.timeline-referral .timeline-marker,
.timeline-referred_join .timeline-marker{
    background:#f1f9ff;
}

@media(max-width:650px){

    .timeline-event{
        grid-template-columns:36px 1fr;
        gap:8px;
    }

    .timeline-marker{
        width:34px;
        height:34px;
        font-size:15px;
    }

    [dir="rtl"] .timeline-event:not(:last-child)::before{
        right:17px;
        top:40px;
    }

    [dir="ltr"] .timeline-event:not(:last-child)::before{
        left:17px;
        top:40px;
    }

    .timeline-event-head{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

}


/* ===== CUSTOMER NOTES & TASKS V42 ===== */

.customer-crm-panel{
    margin-bottom:18px;
}

.customer-crm-create-grid,
.customer-crm-content-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.customer-crm-create-card{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid #e7e9f1;
    border-radius:14px;
    background:#fafbfe;
}

.customer-crm-create-card h3{
    margin:0;
}

.customer-crm-create-card label{
    display:grid;
    gap:5px;
}

.customer-crm-create-card textarea{
    min-height:90px;
    resize:vertical;
}

.customer-task-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.customer-crm-block{
    min-width:0;
}

.customer-crm-block-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}

.customer-crm-block-head h3{
    margin:0;
}

.customer-task-list,
.customer-note-list{
    display:grid;
    gap:9px;
}

.customer-task-item,
.customer-note-item{
    padding:12px;
    border:1px solid #e8eaf1;
    border-radius:12px;
    background:#fff;
}

.customer-task-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.customer-task-main{
    min-width:0;
}

.customer-task-title{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.customer-task-item p,
.customer-note-item p{
    margin:6px 0;
    white-space:normal;
    line-height:1.6;
}

.customer-task-meta,
.customer-note-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    color:#7c8190;
    font-size:12px;
}

.customer-task-actions{
    display:flex;
    gap:6px;
    flex-shrink:0;
}

.customer-task-completed{
    opacity:.78;
}

.customer-task-completed .customer-task-title b{
    text-decoration:line-through;
}

.customer-note-item form{
    margin-top:8px;
}

.timeline-internal_note .timeline-marker{
    background:#fff8ea;
}

.timeline-customer_task .timeline-marker{
    background:#eef8ff;
}

@media(max-width:850px){

    .customer-crm-create-grid,
    .customer-crm-content-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    .customer-task-fields{
        grid-template-columns:1fr;
    }

    .customer-task-item{
        align-items:flex-start;
        flex-direction:column;
    }

}


/* ===== CASHIER TASK INBOX V42.1 ===== */

.cashier-task-inbox{
    margin-bottom:18px;
}

.cashier-task-list{
    display:grid;
    gap:10px;
}

.cashier-task-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border:1px solid #e6e9f1;
    border-radius:14px;
    background:#fff;
}

.cashier-task-overdue{
    border-color:#f3b5b5;
    background:#fffafa;
}

.cashier-task-card-main{
    min-width:0;
    flex:1;
}

.cashier-task-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.cashier-task-card-head > div{
    display:grid;
    gap:2px;
}

.cashier-task-customer{
    color:#17205f;
    font-size:15px;
}

.cashier-task-card h3{
    margin:9px 0 4px;
    font-size:16px;
}

.cashier-task-card p{
    margin:4px 0;
    line-height:1.6;
}

.cashier-task-due{
    display:block;
    margin-top:7px;
    color:#787d8c;
}

.cashier-task-card-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}

.cashier-task-card-actions form{
    margin:0;
}

@media(max-width:750px){

    .cashier-task-card{
        align-items:stretch;
        flex-direction:column;
    }

    .cashier-task-card-actions{
        justify-content:flex-start;
    }

}


/* ===== CASHIER CUSTOMER FOLLOW-UP HISTORY V42.2 ===== */

.cashier-customer-followups{
    margin-top:10px;
    border-top:1px solid #eceef4;
    padding-top:8px;
}

.cashier-customer-followups > summary{
    display:flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
    font-weight:700;
    color:#17205f;
    list-style:none;
}

.cashier-customer-followups > summary::-webkit-details-marker{
    display:none;
}

.cashier-customer-followups > summary .pill{
    margin-inline-start:auto;
}

.cashier-customer-followup-list{
    display:grid;
    gap:7px;
    margin-top:8px;
}

.cashier-customer-followup-item{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border:1px solid #e8eaf1;
    border-radius:10px;
    background:#fafbfc;
}

.cashier-customer-followup-item > div{
    display:grid;
    gap:3px;
}

.cashier-customer-followup-item small{
    display:block;
    color:#777d8c;
    line-height:1.5;
}


/* ===== TASK ALERTS V42.3 ===== */

.cashier-task-counters{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:7px;
}

.warning-pill{
    background:#fff5d9;
    color:#8a6500;
    border-color:#f1d98a;
}

.cashier-task-overdue{
    box-shadow:0 0 0 1px rgba(210,55,55,.05);
}


/* ===== ADMIN TASK CENTER V43 ===== */

.task-center-title{
    margin-bottom:16px;
}

.task-center-title h1{
    margin:4px 0;
}

.task-center-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.task-stat-card{
    display:grid;
    gap:5px;
    padding:15px;
    border:1px solid #e6e9f1;
    border-radius:14px;
    background:#fff;
    text-decoration:none;
    color:inherit;
}

.task-stat-card small{
    color:#747a8a;
}

.task-stat-card b{
    font-size:25px;
    color:#17205f;
}

.task-stat-overdue{
    border-color:#efb8b8;
    background:#fffafa;
}

.task-stat-today{
    border-color:#eddda8;
    background:#fffdf6;
}

.task-center-filters{
    display:grid;
    grid-template-columns:2fr 1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}

.task-center-filters label{
    display:grid;
    gap:5px;
}

.task-center-list{
    display:grid;
    gap:10px;
}

.task-center-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 15px;
    border:1px solid #e6e9f1;
    border-radius:14px;
    background:#fff;
}

.task-center-item-overdue{
    border-color:#efb7b7;
    background:#fffafa;
}

.task-center-item-completed{
    opacity:.8;
}

.task-center-main{
    flex:1;
    min-width:0;
}

.task-center-item-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.task-center-item-head > div:first-child{
    display:grid;
    gap:2px;
}

.task-center-item h3{
    margin:9px 0 5px;
}

.task-center-item p{
    margin:4px 0;
    line-height:1.6;
}

.task-center-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-top:9px;
    font-size:12px;
    color:#777d8d;
}

.task-center-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.task-center-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
    flex-shrink:0;
}

.task-center-actions form{
    margin:0;
}

@media(max-width:1000px){

    .task-center-filters{
        grid-template-columns:1fr 1fr;
    }

    .task-center-filters label:first-child{
        grid-column:1/-1;
    }

}

@media(max-width:800px){

    .task-center-stats{
        grid-template-columns:1fr 1fr;
    }

    .task-center-item{
        align-items:stretch;
        flex-direction:column;
    }

    .task-center-actions{
        justify-content:flex-start;
    }

}

@media(max-width:550px){

    .task-center-filters,
    .task-center-stats{
        grid-template-columns:1fr;
    }

    .task-center-filters label:first-child{
        grid-column:auto;
    }

}


/* ===== NOTIFICATIONS CENTER V44 ===== */

.admin-notification-bell,
.cashier-notification-bell{
    position:fixed;
    top:18px;
    z-index:1100;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid #e4e7ef;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 20px rgba(26,31,75,.10);
    text-decoration:none;
    font-size:19px;
}

[dir="rtl"] .admin-notification-bell,
[dir="rtl"] .cashier-notification-bell{
    left:22px;
}

[dir="ltr"] .admin-notification-bell,
[dir="ltr"] .cashier-notification-bell{
    right:22px;
}

.notification-bell-count{
    position:absolute;
    top:-5px;
    inset-inline-end:-6px;
    min-width:21px;
    height:21px;
    padding:0 5px;
    display:grid;
    place-items:center;
    border:2px solid #fff;
    border-radius:999px;
    background:#5c6478;
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.notification-bell-count.urgent{
    background:#c83c46;
}

.notifications-title{
    margin-bottom:16px;
}

.notifications-title h1{
    margin:4px 0;
}

.notification-stats{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:11px;
    margin-bottom:16px;
}

.notification-stat{
    display:grid;
    gap:4px;
    padding:14px;
    border:1px solid #e6e9f1;
    border-radius:14px;
    background:#fff;
    text-decoration:none;
    color:inherit;
}

.notification-stat small{
    color:#767c8d;
}

.notification-stat b{
    color:#17205f;
    font-size:24px;
}

.notification-stat.danger{
    border-color:#efbaba;
    background:#fffafa;
}

.notification-stat.warning{
    border-color:#ead99e;
    background:#fffdf6;
}

.notification-list{
    display:grid;
    gap:9px;
}

.notification-item{
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    border:1px solid #e8eaf1;
    border-radius:13px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.notification-item:hover{
    border-color:#cfd4e2;
    box-shadow:0 4px 14px rgba(30,35,80,.05);
}

.notification-task_overdue,
.notification-voice,
.notification-recovery{
    border-inline-start:4px solid #d9585f;
}

.notification-task_today{
    border-inline-start:4px solid #deb443;
}

.notification-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f6f7fa;
    font-size:17px;
}

.notification-body{
    min-width:0;
}

.notification-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.notification-head time{
    white-space:nowrap;
    color:#868b99;
    font-size:11px;
}

.notification-body p{
    margin:4px 0;
    line-height:1.5;
}

.notification-body small{
    color:#777d8d;
}

.notification-open{
    white-space:nowrap;
    color:#5663a8;
    font-size:12px;
    font-weight:700;
}

.notifications-all-clear{
    min-height:160px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:6px;
    text-align:center;
    color:#687080;
}

.notifications-all-clear > span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef8f2;
    color:#278154;
    font-size:24px;
}

@media(max-width:950px){

    .notification-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media(max-width:650px){

    .notification-stats{
        grid-template-columns:1fr 1fr;
    }

    .notification-item{
        grid-template-columns:38px 1fr;
    }

    .notification-open{
        display:none;
    }

    .notification-head{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

}


/* ===== DAILY OPERATIONS DASHBOARD V45 ===== */

.daily-ops-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.daily-ops-head h1{
    margin:4px 0;
}

.daily-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin-bottom:16px;
}

.daily-kpi{
    display:grid;
    gap:5px;
    padding:15px;
    border:1px solid #e6e9f1;
    border-radius:14px;
    background:#fff;
}

.daily-kpi-primary{
    background:#fafbff;
    border-color:#d8ddef;
}

.daily-kpi small{
    color:#747a8b;
}

.daily-kpi > b{
    color:#17205f;
    font-size:24px;
}

.daily-kpi b em{
    font-size:12px;
    font-style:normal;
    color:#73798a;
}

.daily-kpi > span{
    font-size:11px;
}

.daily-up{
    color:#278154;
}

.daily-down{
    color:#bb4048;
}

.daily-attention-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.daily-attention-grid > a{
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px;
    border:1px solid #e7e9f0;
    border-radius:12px;
    color:inherit;
    text-decoration:none;
    background:#fff;
}

.daily-attention-grid > a > span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f5f6f9;
}

.daily-attention-grid b{
    display:block;
    color:#17205f;
    font-size:20px;
}

.daily-attention-grid small{
    color:#777d8d;
}

.daily-attention-grid .has-alert{
    border-color:#efb8b8;
    background:#fffafa;
}

.daily-attention-grid .has-warning{
    border-color:#e8d89f;
    background:#fffdf5;
}

.daily-two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-bottom:16px;
    align-items:start;
}

.daily-two-col .panel{
    margin:0;
}

.daily-two-col td small{
    display:block;
    color:#7b8190;
}

@media(max-width:1100px){

    .daily-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .daily-attention-grid{
        grid-template-columns:1fr 1fr;
    }

    .daily-two-col{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    .daily-ops-head{
        flex-direction:column;
    }

    .daily-kpi-grid,
    .daily-attention-grid{
        grid-template-columns:1fr;
    }

}


/* ===== DAILY DATE FILTER V45.1 ===== */

.daily-head-actions{
    display:flex;
    align-items:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.daily-date-picker{
    margin:0;
}

.daily-date-picker label{
    display:grid;
    gap:5px;
    font-size:12px;
    font-weight:700;
    color:#596073;
}

.daily-date-picker input[type="date"]{
    min-width:165px;
    height:40px;
    padding:0 10px;
    border:1px solid #dfe3ec;
    border-radius:10px;
    background:#fff;
    color:#17205f;
}

.daily-date-navigation{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

[dir="rtl"] .daily-date-navigation{
    justify-content:flex-start;
}

@media(max-width:700px){

    .daily-head-actions{
        width:100%;
        align-items:stretch;
        flex-direction:column;
    }

    .daily-date-picker input[type="date"]{
        width:100%;
    }

}


/* ===== DAILY DATE PICKER FIX V45.1 ===== */

.daily-ops-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.daily-ops-title{
    min-width:0;
}

.daily-head-actions{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.daily-date-picker{
    display:block !important;
    margin:0;
}

.daily-date-picker label{
    display:grid;
    gap:6px;
    font-size:12px;
    font-weight:700;
    color:#555d72;
}

.daily-date-picker label > span{
    display:block;
}

.daily-date-picker input[type="date"]{
    display:block !important;
    width:185px;
    min-width:185px;
    height:42px;
    padding:0 12px;
    border:1px solid #d9deeb;
    border-radius:11px;
    background:#fff;
    color:#151e5a;
    font-family:inherit;
    font-size:13px;
    cursor:pointer;
}

.daily-date-navigation{
    display:flex !important;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 16px;
}

[dir="rtl"] .daily-date-navigation{
    justify-content:flex-start;
}

@media(max-width:750px){

    .daily-ops-head{
        flex-direction:column;
    }

    .daily-head-actions{
        width:100%;
        justify-content:flex-start;
    }

    .daily-date-picker{
        width:100%;
    }

    .daily-date-picker input[type="date"]{
        width:100%;
    }

}


/* ===== DATE RANGE VIEW V45.2 ===== */

.daily-view-switch{
    display:flex;
    gap:6px;
    align-items:center;
}

.daily-range-picker{
    display:flex;
    align-items:end;
    gap:8px;
    flex-wrap:wrap;
}

.daily-range-picker label{
    display:grid;
    gap:5px;
    font-size:12px;
    font-weight:700;
    color:#596073;
}

.daily-range-picker input[type="date"]{
    min-width:150px;
    height:40px;
    padding:0 10px;
    border:1px solid #dfe3ec;
    border-radius:10px;
    background:#fff;
    color:#17205f;
}

.daily-range-shortcuts{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-bottom:15px;
}

@media(max-width:800px){

    .daily-view-switch{
        width:100%;
    }

    .daily-range-picker{
        width:100%;
        align-items:stretch;
        flex-direction:column;
    }

    .daily-range-picker input[type="date"]{
        width:100%;
    }

}


/* ===== DAILY RANGE CONTROLS POLISH V45.3 ===== */

.daily-head-actions{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:12px;
    flex-wrap:wrap;
}

.daily-controls-row{
    display:flex;
    align-items:flex-end;
    gap:14px;
    flex-wrap:wrap;
}

.daily-view-switch{
    display:flex;
    align-items:center;
    gap:6px;
    padding:4px;
    border:1px solid #e3e6ee;
    border-radius:12px;
    background:#f8f9fc;
}

.daily-view-switch .btn{
    min-width:88px;
    justify-content:center;
}

.daily-range-picker{
    display:grid;
    grid-template-columns:160px 160px auto;
    align-items:end;
    gap:8px;
    margin:0;
}

.daily-range-picker label{
    display:grid;
    gap:5px;
    margin:0;
}

.daily-range-picker label > input{
    width:100%;
}

.daily-range-picker .btn{
    height:40px;
    min-width:70px;
    align-self:end;
}

.daily-date-picker{
    margin:0;
}

.daily-date-picker label{
    margin:0;
}

.daily-date-navigation,
.daily-range-shortcuts{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
    margin-bottom:16px;
}

[dir="rtl"] .daily-range-shortcuts,
[dir="rtl"] .daily-date-navigation{
    justify-content:flex-start;
}

.daily-range-shortcuts .btn,
.daily-date-navigation .btn{
    min-width:105px;
    justify-content:center;
}

.daily-notifications-btn{
    align-self:flex-end;
    white-space:nowrap;
}

@media(max-width:1050px){

    .daily-head-actions{
        width:100%;
        justify-content:flex-start;
    }

    .daily-controls-row{
        width:100%;
    }

}

@media(max-width:760px){

    .daily-controls-row{
        flex-direction:column;
        align-items:stretch;
    }

    .daily-view-switch{
        width:fit-content;
    }

    .daily-range-picker{
        grid-template-columns:1fr;
        width:100%;
    }

    .daily-range-picker .btn{
        width:100%;
    }

    .daily-notifications-btn{
        align-self:flex-start;
    }

}


/* =================================================
   CUSTOMER 360 FULL TABS V46
   ================================================= */

.customer360-tabs{
    position:sticky;
    top:72px;
    z-index:30;

    display:flex;
    align-items:center;
    gap:6px;

    margin:0 0 14px;
    padding:7px;

    overflow-x:auto;

    border:1px solid #e3e6ef;
    border-radius:14px;

    background:rgba(255,255,255,.96);
    backdrop-filter:blur(8px);

    box-shadow:0 6px 18px rgba(30,35,75,.05);
}

.customer360-tab{
    appearance:none;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:6px;

    min-height:42px;
    padding:8px 14px;

    border:0;
    border-radius:10px;

    background:transparent;
    color:#586077;

    font-family:inherit;
    font-size:13px;
    font-weight:800;

    white-space:nowrap;
    cursor:pointer;

    transition:.18s ease;
}

.customer360-tab:hover{
    background:#f5f6fa;
    color:#17205f;
}

.customer360-tab.active{
    background:#17205f;
    color:#fff;

    box-shadow:
        0 5px 14px
        rgba(23,32,95,.18);
}


.customer360-tab-stage{
    display:block;
}

.customer360-tab-pane{
    display:none;
}

.customer360-tab-pane.active{
    display:block;
    animation:c360Fade .18s ease;
}

@keyframes c360Fade{
    from{
        opacity:.25;
        transform:translateY(3px);
    }
    to{
        opacity:1;
        transform:none;
    }
}


/* إزالة الفراغات القديمة */

.customer360-tab-pane > .panel:first-child,
.customer360-tab-pane > .customer360-two-col:first-child,
.customer360-tab-pane > .metric-grid:first-child{
    margin-top:0;
}

.customer360-tab-pane > *:last-child{
    margin-bottom:0;
}


/* Overview */

[data-c360-pane="overview"]{
    display:none;
}

[data-c360-pane="overview"].active{
    display:grid;
    gap:14px;
}


/* Follow-up */

[data-c360-pane="followup"] .customer-crm-panel{
    margin:0;
}

[data-c360-pane="followup"] .customer-crm-panel{
    display:block;
}

[data-c360-pane="followup"]
.customer-crm-panel > summary{
    display:none;
}


/* Timeline */

[data-c360-pane="timeline"]
.customer-timeline-panel{
    margin:0;
}

[data-c360-pane="timeline"]
.customer-timeline-panel{
    display:block;
}

[data-c360-pane="timeline"]
.customer-timeline-panel > summary{
    display:none;
}


/* Loyalty */

[data-c360-pane="loyalty"]{
    gap:14px;
}

[data-c360-pane="loyalty"].active{
    display:grid;
}


/* Experience */

[data-c360-pane="experience"].active{
    display:grid;
    gap:14px;
}

[data-c360-pane="experience"] > details{
    margin:0;
}


/* Engagement */

[data-c360-pane="engagement"].active{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    align-items:start;
}

[data-c360-pane="engagement"] > details{
    margin:0;
}


/* داخل Tab لا نحتاج sections مغلقة تلقائيًا بشكل كبير */

.customer360-tab-pane
.customer360-collapsible{
    min-height:0;
}


/* Mobile */

@media(max-width:900px){

    .customer360-tabs{
        top:62px;
        justify-content:flex-start;
    }

    .customer360-tab{
        flex:0 0 auto;
    }

    [data-c360-pane="engagement"].active{
        grid-template-columns:1fr;
    }

}


/* ===== PLATFORM CUSTOMER DATABASE V48 ===== */

.platform-customer-metrics{
    margin-bottom:16px;
}

.platform-customer-tabs{
    display:flex;
    gap:6px;
    margin-bottom:16px;
    padding:6px;
    border:1px solid #e3e6ef;
    border-radius:12px;
    background:#f8f9fc;
    width:max-content;
    max-width:100%;
}

.platform-customer-tabs a{
    padding:9px 14px;
    border-radius:9px;
    text-decoration:none;
    color:#596075;
    font-size:13px;
    font-weight:800;
}

.platform-customer-tabs a.active{
    background:#17205f;
    color:#fff;
}

.platform-customer-filter{
    grid-template-columns:minmax(220px,1.4fr) minmax(220px,2fr) 150px auto;
}

.platform-selected-business{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:12px 0;
    padding:11px 13px;
    border-radius:11px;
    background:#f7f8fc;
}

.platform-selected-business b{
    color:#17205f;
}

.platform-selected-business span{
    color:#747a8c;
    font-size:12px;
}

.platform-customer-metrics .metric b{
    color:#17205f;
}

@media(max-width:850px){

    .platform-customer-filter{
        grid-template-columns:1fr;
    }

    .platform-customer-tabs{
        width:100%;
        overflow-x:auto;
    }

    .platform-customer-tabs a{
        white-space:nowrap;
    }

}


/* =================================================
   LOYVIA AI-POWERED LANDING PAGE V49
   ================================================= */

.loyvia-ai-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    padding:7px 11px;
    margin-bottom:14px;
    border:1px solid rgba(79,70,229,.18);
    border-radius:999px;
    background:rgba(79,70,229,.06);
    color:#4338ca;
    font-size:12px;
    font-weight:900;
}

.ai-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:currentColor;
    box-shadow:0 0 0 5px rgba(67,56,202,.08);
}

.loyvia-hero-copy h1 span{
    background:linear-gradient(110deg,#17205f,#5147c9);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.loyvia-hero-lead{
    max-width:720px;
    line-height:1.85;
    font-size:16px;
}

.hero-ai-points{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:18px 0 6px;
}

.hero-ai-points span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:7px 10px;
    border:1px solid #e5e7f0;
    border-radius:999px;
    background:#fff;
    color:#4f566d;
    font-size:12px;
    font-weight:800;
}


/* AI FEATURES */

.loyvia-ai-features{
    position:relative;
}

.ai-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.ai-feature-card{
    position:relative;
    min-height:190px;
    padding:22px;
    border:1px solid #e7e8f0;
    border-radius:18px;
    background:#fff;
    overflow:hidden;
    transition:.2s ease;
}

.ai-feature-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 35px rgba(30,35,75,.08);
}

.ai-feature-primary{
    background:linear-gradient(145deg,#17205f,#282e82);
    border-color:transparent;
    color:#fff;
}

.ai-feature-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    margin-bottom:18px;
    border-radius:12px;
    background:#f3f4fb;
    color:#17205f;
    font-size:18px;
    font-weight:900;
}

.ai-feature-primary .ai-feature-icon{
    background:rgba(255,255,255,.13);
    color:#fff;
}

.ai-feature-card h3{
    margin:0 0 8px;
    font-size:17px;
}

.ai-feature-card p{
    margin:0;
    color:#73798b;
    font-size:13px;
    line-height:1.75;
}

.ai-feature-primary p{
    color:rgba(255,255,255,.76);
}


/* BUSINESS VALUE */

.loyvia-business-value{
    background:#fafafd;
    border-radius:24px;
}

.business-value-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.business-value-grid > div{
    padding:18px;
    border-inline-start:2px solid #e3e4ee;
}

.business-value-grid b{
    display:block;
    margin-bottom:12px;
    color:#a4a8b6;
    font-size:12px;
}

.business-value-grid h3{
    margin:0 0 7px;
    color:#17205f;
}

.business-value-grid p{
    margin:0;
    color:#74798b;
    font-size:12px;
    line-height:1.6;
}


/* CONNECTED */

.loyvia-connected-section{
    display:grid;
    grid-template-columns:1.25fr 1fr;
    gap:40px;
    align-items:center;
    border:1px solid #e5e7ef;
    border-radius:22px;
}

.connected-copy h2{
    margin-top:7px;
}

.connected-copy p{
    color:#6f7587;
    line-height:1.8;
}

.connected-points{
    display:grid;
    gap:9px;
}

.connected-points span{
    display:block;
    padding:11px 13px;
    border-radius:10px;
    background:#f7f8fc;
    color:#40475e;
    font-size:13px;
    font-weight:800;
}


/* RESPONSIVE */

@media(max-width:1000px){

    .ai-feature-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .business-value-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media(max-width:720px){

    .ai-feature-grid{
        grid-template-columns:1fr;
    }

    .business-value-grid{
        grid-template-columns:1fr;
    }

    .loyvia-connected-section{
        grid-template-columns:1fr;
        gap:20px;
    }

    .hero-ai-points{
        align-items:stretch;
    }

    .hero-ai-points span{
        flex:1 1 45%;
    }

}


/* ===== V49.1 HERO VISUAL ORB ===== */

.loyvia-hero-copy{
    position:relative;
}

.loyvia-hero-orb{
    position:absolute;
    left:-390px;
    top:50%;
    transform:translateY(-50%);

    width:250px;
    height:250px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            #6559ff 0,
            #3535d8 42%,
            #17205f 100%
        );

    box-shadow:
        0 30px 70px rgba(31,38,140,.22),
        inset 0 0 0 1px rgba(255,255,255,.18);
}

.loyvia-hero-orb::before{
    content:"";
    position:absolute;

    width:310px;
    height:310px;

    border:1px solid rgba(73,72,210,.14);
    border-radius:50%;
}

.loyvia-hero-orb::after{
    content:"";
    position:absolute;

    width:350px;
    height:350px;

    border:1px solid rgba(73,72,210,.07);
    border-radius:50%;
}

.loyvia-hero-orb-inner{
    width:104px;
    height:104px;

    display:grid;
    place-items:center;

    border-radius:28px;

    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.22);

    backdrop-filter:blur(8px);
}

.loyvia-hero-orb-inner span{
    color:#fff;
    font-size:46px;
}


/* Tablet / mobile */

@media(max-width:1100px){

    .loyvia-hero-orb{
        opacity:.22;
        left:20px;
        width:190px;
        height:190px;
    }

    .loyvia-hero-orb::before,
    .loyvia-hero-orb::after{
        display:none;
    }
}

@media(max-width:760px){

    .loyvia-hero-orb{
        display:none;
    }

}


/* =================================================
   V49.2 AI GROWTH ORB
   ================================================= */

.loyvia-hero-orb{
    width:285px;
    height:285px;
    overflow:visible;
}

.loyvia-hero-orb-inner{
    position:relative;

    width:132px;
    height:132px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:1px;

    border-radius:50%;

    background:
      linear-gradient(
        145deg,
        rgba(255,255,255,.24),
        rgba(255,255,255,.08)
      );

    border:1px solid rgba(255,255,255,.35);

    box-shadow:
      inset 0 0 25px rgba(255,255,255,.08),
      0 15px 35px rgba(15,20,100,.18);

    backdrop-filter:blur(10px);

    z-index:3;
}

.loyvia-hero-orb-inner b{
    color:#fff;
    font-size:34px;
    line-height:1;
    letter-spacing:1px;
}

.loyvia-hero-orb-inner small{
    margin-top:5px;
    color:rgba(255,255,255,.82);
    font-size:10px;
    font-weight:800;
}

.ai-orb-spark{
    position:absolute;
    top:13px;
    right:18px;

    color:#fff;
    font-size:16px;

    opacity:.9;
}


/* orbit labels */

.ai-orbit-label{
    position:absolute;
    z-index:5;

    min-width:105px;
    padding:7px 11px;

    border:1px solid rgba(70,70,210,.15);
    border-radius:999px;

    background:rgba(255,255,255,.94);

    box-shadow:
      0 7px 20px rgba(25,30,95,.08);

    color:#303870;

    font-size:11px;
    font-weight:800;

    text-align:center;
    white-space:nowrap;
}

.ai-orbit-label-1{
    top:22px;
    left:-62px;
}

.ai-orbit-label-2{
    right:-76px;
    top:102px;
}

.ai-orbit-label-3{
    bottom:18px;
    left:-38px;
}


/* connector lines */

.ai-orbit-label::after{
    content:"";

    position:absolute;

    width:38px;
    height:1px;

    background:rgba(61,61,185,.22);
}

.ai-orbit-label-1::after{
    right:-32px;
    top:50%;
}

.ai-orbit-label-2::after{
    left:-32px;
    top:50%;
}

.ai-orbit-label-3::after{
    right:-31px;
    top:50%;
}


/* extra AI nodes */

.loyvia-hero-orb::before{
    width:330px;
    height:330px;

    border:
      1px solid
      rgba(72,72,210,.13);
}

.loyvia-hero-orb::after{
    width:380px;
    height:380px;

    border:
      1px dashed
      rgba(72,72,210,.10);
}


/* subtle nodes */

.loyvia-hero-orb-inner::before,
.loyvia-hero-orb-inner::after{
    content:"";

    position:absolute;

    width:8px;
    height:8px;

    background:#fff;

    border-radius:50%;

    box-shadow:
      0 0 0 5px rgba(255,255,255,.12);
}

.loyvia-hero-orb-inner::before{
    left:-62px;
    top:29px;
}

.loyvia-hero-orb-inner::after{
    right:-66px;
    bottom:20px;
}


@media(max-width:1100px){

    .loyvia-hero-orb{
        opacity:.55;
    }

    .ai-orbit-label{
        display:none;
    }

}

@media(max-width:760px){

    .loyvia-hero-orb{
        display:none;
    }

}


/* =================================================
   V49.5 AI ORB — RTL / LTR POSITION FIX
   ================================================= */


/* Arabic / RTL */
html[dir="rtl"] .loyvia-hero-orb{
    left:-390px;
    right:auto;
}


/* English / LTR
   Put the visual on the opposite side of the copy
*/
html[dir="ltr"] .loyvia-hero-orb{
    left:auto;
    right:-390px;
}


/* Mirror orbit labels in English */

html[dir="ltr"] .ai-orbit-label-1{
    left:auto;
    right:-62px;
}

html[dir="ltr"] .ai-orbit-label-1::after{
    right:auto;
    left:-32px;
}


html[dir="ltr"] .ai-orbit-label-2{
    right:auto;
    left:-76px;
}

html[dir="ltr"] .ai-orbit-label-2::after{
    left:auto;
    right:-32px;
}


html[dir="ltr"] .ai-orbit-label-3{
    left:auto;
    right:-38px;
}

html[dir="ltr"] .ai-orbit-label-3::after{
    right:auto;
    left:-31px;
}


/* Keep labels readable in English */
html[dir="ltr"] .ai-orbit-label{
    direction:ltr;
}


/* Tablet positioning */
@media(max-width:1100px){

    html[dir="rtl"] .loyvia-hero-orb{
        left:20px;
        right:auto;
    }

    html[dir="ltr"] .loyvia-hero-orb{
        right:20px;
        left:auto;
    }

}


/* ===== AUDIT LOG RETENTION V50 ===== */

.audit-cleanup-box{
    margin:14px 0;
    border:1px solid #e4e6ef;
    border-radius:12px;
    background:#fafbfe;
}

.audit-cleanup-box > summary{
    padding:12px 14px;
    cursor:pointer;
    color:#17205f;
    font-size:13px;
    font-weight:800;
}

.audit-cleanup-body{
    padding:0 14px 14px;
}

.audit-cleanup-body p{
    margin:5px 0 12px;
    font-size:12px;
}

.audit-cleanup-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.audit-cleanup-actions form{
    margin:0;
}

.audit-cleanup-actions button{
    min-height:38px;
}

.audit-cleanup-success{
    margin:12px 0;
}

@media(max-width:700px){

    .audit-cleanup-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .audit-cleanup-actions button{
        width:100%;
    }

}


/* =================================================
   V51 TODAY ACTION CENTER
   ================================================= */

.today-action-center{
    margin-bottom:18px;
    padding:20px;
    border:1px solid #e4e6ef;
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fafbff 100%
        );
    box-shadow:0 8px 26px rgba(31,36,90,.05);
}

.today-action-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.today-action-head h2{
    margin:4px 0 5px;
    color:#17205f;
    font-size:21px;
}

.today-action-head p{
    margin:0;
    max-width:650px;
    color:#777d8f;
    font-size:13px;
    line-height:1.65;
}

.today-action-summary{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.today-action-summary span{
    display:flex;
    align-items:center;
    gap:5px;
    padding:7px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.today-summary-danger{
    background:#fff0f1;
    color:#b42331;
}

.today-summary-growth{
    background:#eef8f1;
    color:#18733c;
}


/* GROUPS */

.today-action-group{
    margin-top:17px;
}

.today-group-title{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:9px;
    color:#444b61;
    font-size:12px;
}

.today-group-dot{
    width:8px;
    height:8px;
    border-radius:50%;
}

.today-group-dot.danger{
    background:#df3448;
}

.today-group-dot.growth{
    background:#27a35e;
}

.today-group-dot.review{
    background:#e2a52d;
}


/* GRID */

.today-action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}


/* CARD */

.today-action-card{
    display:flex;
    gap:12px;
    min-height:132px;
    padding:15px;
    border:1px solid #e5e7ef;
    border-radius:14px;
    background:#fff;
    transition:.18s ease;
}

.today-action-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(25,31,83,.07);
}

.today-action-danger{
    border-inline-start:4px solid #df3448;
}

.today-action-warning{
    border-inline-start:4px solid #e5a72b;
}

.today-action-growth{
    border-inline-start:4px solid #27a35e;
}

.today-action-opportunity{
    border-inline-start:4px solid #5f67c8;
}

.today-action-review{
    border-inline-start:4px solid #e4a92e;
}


.today-action-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#f4f5fa;
    font-size:20px;
}

.today-action-content{
    flex:1;
    min-width:0;
}

.today-action-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.today-action-title h3{
    margin:1px 0 5px;
    color:#272d45;
    font-size:14px;
    line-height:1.45;
}

.today-action-title strong{
    flex:0 0 auto;
    min-width:28px;
    padding:4px 7px;
    border-radius:8px;
    background:#f1f2f7;
    color:#17205f;
    text-align:center;
    font-size:13px;
}

.today-action-content p{
    margin:0 0 9px;
    color:#747a8c;
    font-size:11.5px;
    line-height:1.65;
}

.today-action-content > a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#263191;
    font-size:11.5px;
    font-weight:900;
    text-decoration:none;
}

html[dir="ltr"] .today-action-content > a span{
    transform:rotate(180deg);
}


/* ALL CLEAR */

.today-all-clear{
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px;
    border:1px solid #d8eadf;
    border-radius:14px;
    background:#f5fbf7;
}

.today-clear-icon{
    flex:0 0 40px;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#daf1e2;
    color:#168346;
    font-size:20px;
    font-weight:900;
}

.today-all-clear > div{
    flex:1;
}

.today-all-clear b{
    color:#1f633d;
}

.today-all-clear p{
    margin:3px 0 0;
    color:#65806f;
    font-size:12px;
}


/* RESPONSIVE */

@media(max-width:900px){

    .today-action-head{
        flex-direction:column;
    }

    .today-action-summary{
        justify-content:flex-start;
    }

    .today-action-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    .today-action-center{
        padding:14px;
    }

    .today-all-clear{
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .today-all-clear .btn{
        width:100%;
    }

}


/* =================================================
   V51.1 TODAY ACTION CENTER VISUAL POLISH
   ================================================= */

.today-action-center{
    padding:16px 18px 18px;
}

.today-action-head{
    align-items:center;
    margin-bottom:12px;
}

.today-action-head h2{
    font-size:22px;
    margin:2px 0 4px;
}

.today-action-head p{
    font-size:12.5px;
    line-height:1.55;
}

.today-action-head-actions{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.today-action-summary{
    gap:6px;
    justify-content:flex-end;
}

.today-action-summary span{
    padding:6px 9px;
    font-size:11px;
}

.today-action-all-btn{
    min-height:34px;
    padding:7px 11px;
    font-size:11px;
}

.today-action-group{
    margin-top:12px;
}

.today-group-title{
    margin-bottom:7px;
}

.today-action-grid{
    gap:9px;
}

.today-action-card{
    min-height:112px;
    padding:13px 14px;
    gap:11px;
}

.today-action-icon{
    flex-basis:38px;
    width:38px;
    height:38px;
    font-size:18px;
}

.today-action-title h3{
    font-size:14.5px;
    margin-bottom:4px;
}

.today-action-title strong{
    min-width:30px;
    padding:4px 8px;
    font-size:13px;
}

.today-action-content p{
    font-size:12px;
    line-height:1.55;
    margin-bottom:7px;
}

.today-action-content > a{
    font-size:12px;
}

.today-all-clear{
    padding:13px 14px;
}

@media(max-width:900px){

    .today-action-head{
        align-items:flex-start;
    }

    .today-action-head-actions{
        justify-content:flex-start;
    }

}


/* =================================================
   V52 BEHAVIORAL RECOMMENDATION ENGINE
   ================================================= */

.recommendation-panel{
    overflow:hidden;
}

.recommendation-head{
    align-items:flex-start;
}

.recommendation-head h2{
    margin-top:3px;
}

.recommendation-head-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}

.recommendation-intro{
    margin:-2px 0 14px;
    color:#7a7f90;
    font-size:11.5px;
    line-height:1.65;
}

.recommendation-list{
    display:grid;
    gap:10px;
}

.recommendation-card{
    border:1px solid #e5e7f0;
    border-radius:14px;
    background:#fff;
    padding:13px;
    transition:.18s ease;
}

.recommendation-card:hover{
    border-color:#d5d9ea;
    transform:translateY(-1px);
    box-shadow:0 8px 22px rgba(29,34,83,.06);
}

.recommendation-top{
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.recommendation-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#f4f5fa;
    font-size:18px;
}

.recommendation-main{
    flex:1;
    min-width:0;
}

.recommendation-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.recommendation-title-row h3{
    margin:1px 0 4px;
    color:#17205f;
    font-size:14px;
    line-height:1.45;
}

.recommendation-count{
    min-width:27px;
    padding:4px 7px;
    border-radius:8px;
    background:#f1f2f7;
    color:#17205f;
    font-size:12px;
    font-weight:900;
    text-align:center;
}

.recommendation-reason{
    margin:0;
    color:#666d7f;
    font-size:11.5px;
    line-height:1.6;
}

.recommendation-evidence{
    margin-top:10px;
    padding:9px 10px;
    border-radius:10px;
    background:#f8f9fc;
}

.recommendation-evidence-label{
    display:block;
    margin-bottom:3px;
    color:#7c8293;
    font-size:9.5px;
    font-weight:900;
    text-transform:uppercase;
}

.recommendation-evidence p{
    margin:0;
    color:#555d71;
    font-size:10.5px;
    line-height:1.55;
}

.recommendation-footer{
    display:grid;
    grid-template-columns:minmax(120px,1fr) auto auto;
    align-items:end;
    gap:10px;
    margin-top:10px;
}

.recommendation-value small,
.recommendation-confidence small{
    display:block;
    margin-bottom:2px;
    color:#8a8f9e;
    font-size:9.5px;
}

.recommendation-value strong{
    color:#17205f;
    font-size:14px;
}

.recommendation-confidence span{
    display:inline-flex;
    align-items:center;
    padding:3px 7px;
    border-radius:999px;
    font-size:9.5px;
    font-weight:900;
}

.confidence-high{
    background:#e9f8ef;
    color:#177846;
}

.confidence-medium{
    background:#fff6df;
    color:#946100;
}

.confidence-low{
    background:#f0f1f5;
    color:#666c7c;
}

.recommendation-action{
    white-space:nowrap;
}

.recommendation-learning{
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    border:1px dashed #d9dce7;
    border-radius:13px;
    background:#fafbfe;
}

.recommendation-learning-icon{
    flex:0 0 40px;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef0ff;
    color:#303b9e;
    font-size:19px;
}

.recommendation-learning b{
    color:#17205f;
}

.recommendation-learning p{
    margin:3px 0 0;
    color:#777d8d;
    font-size:11px;
    line-height:1.55;
}

@media(max-width:760px){

    .recommendation-footer{
        grid-template-columns:1fr 1fr;
    }

    .recommendation-action{
        grid-column:1/-1;
        width:100%;
        justify-content:center;
    }

    .recommendation-head-meta{
        justify-content:flex-start;
    }

}


/* =================================================
   V52.2 RECOMMENDATION QUALITY
   ================================================= */

.recommendation-category{
    display:inline-flex;
    align-items:center;
    margin-bottom:4px;
    padding:3px 7px;
    border-radius:999px;
    font-size:9px;
    font-weight:900;
}

.recommendation-category-retention{
    background:#fff0f1;
    color:#b73545;
}

.recommendation-category-growth{
    background:#eef8f1;
    color:#177848;
}

.recommendation-category-revenue{
    background:#eef1ff;
    color:#3847a5;
}

.recommendation-category-experience{
    background:#fff6df;
    color:#946100;
}

.recommendation-title-row > div{
    min-width:0;
    flex:1;
}

.recommendation-value strong{
    line-height:1.35;
}


/* =================================================
   V53 LOYVIA IMPACT DASHBOARD
   ================================================= */

.roi-impact-hero{
    align-items:stretch;
}

.roi-impact-side{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.roi-impact-side > div{
    padding:13px;
    border-radius:12px;
    background:rgba(255,255,255,.1);
}

.roi-impact-side small{
    display:block;
    margin-bottom:5px;
}

.roi-impact-side b{
    display:block;
    font-size:18px;
}

.roi-impact-side span{
    display:block;
    margin-top:4px;
    font-size:10px;
    opacity:.78;
    line-height:1.45;
}

.roi-impact-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.roi-impact-grid article{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:14px;
    border:1px solid #e5e7ef;
    border-radius:13px;
    background:#fff;
}

.roi-impact-grid article > span{
    flex:0 0 36px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#f3f4f9;
    font-size:17px;
}

.roi-impact-grid small{
    display:block;
    color:#777d8f;
    font-size:10px;
    font-weight:800;
}

.roi-impact-grid b{
    display:block;
    margin:3px 0;
    color:#17205f;
    font-size:17px;
}

.roi-impact-grid p{
    margin:0;
    color:#7b8090;
    font-size:10.5px;
    line-height:1.5;
}

.roi-impact-highlight{
    border-color:#cfe6d8 !important;
    background:#f6fcf8 !important;
}

.roi-impact-highlight b{
    color:#177846;
}

@media(max-width:900px){
    .roi-impact-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .roi-impact-grid,
    .roi-impact-side{
        grid-template-columns:1fr;
    }
}


/* =================================================
   V53.2 DATA CONFIDENCE
   ================================================= */

.roi-confidence{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 14px;
    padding:11px 14px;
    border:1px solid #e5e7ef;
    border-radius:12px;
    background:#fff;
}

.roi-confidence > div{
    min-width:0;
}

.roi-confidence strong{
    display:block;
    margin-bottom:3px;
    font-size:12px;
}

.roi-confidence span{
    color:#74798a;
    font-size:11px;
    line-height:1.5;
}

.roi-confidence > b{
    flex:0 0 auto;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.roi-confidence-early{
    background:#fffaf0;
    border-color:#f3dfb0;
}

.roi-confidence-limited{
    background:#fffdf2;
    border-color:#eadf9a;
}

.roi-confidence-good{
    background:#f6fbff;
    border-color:#cfe3ef;
}

.roi-confidence-strong{
    background:#f5fbf7;
    border-color:#cae6d3;
}

.roi-kpi-summary{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:900px){
    .roi-kpi-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .roi-confidence{
        align-items:flex-start;
        flex-direction:column;
    }

    .roi-kpi-summary{
        grid-template-columns:1fr;
    }
}


/* =================================================
   V54.1 SETUP HEALTH & QUICK START
   ================================================= */

.setup-health-card{
    margin:0 0 18px;
    padding:18px;
    border:1px solid #e4e7f1;
    border-radius:18px;
    background:linear-gradient(135deg,#ffffff 0%,#fafbff 100%);
    box-shadow:0 10px 28px rgba(22,31,85,.05);
}

.setup-health-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.setup-health-main{
    min-width:0;
}

.setup-health-main h2{
    margin:3px 0 5px;
}

.setup-health-main p{
    margin:0;
    max-width:720px;
    color:#74798a;
    font-size:12px;
    line-height:1.6;
}

.setup-health-score{
    flex:0 0 auto;
    text-align:center;
    min-width:92px;
    padding:10px 14px;
    border-radius:14px;
    background:#f0f3ff;
}

.setup-health-score strong{
    display:block;
    color:#17205f;
    font-size:25px;
    line-height:1;
}

.setup-health-score span{
    display:block;
    margin-top:5px;
    color:#74798a;
    font-size:10px;
}

.setup-health-progress{
    height:8px;
    margin:16px 0 8px;
    overflow:hidden;
    border-radius:999px;
    background:#eef0f6;
}

.setup-health-progress i{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#1d2a93,#4057ef);
}

.setup-health-summary{
    display:flex;
    gap:5px;
    align-items:center;
    color:#707688;
    font-size:11px;
}

.setup-health-summary b{
    color:#17205f;
}

.setup-next-step{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin-top:14px;
    padding:13px;
    border:1px solid #dde2f3;
    border-radius:14px;
    background:#fff;
}

.setup-next-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#f2f4fb;
    font-size:20px;
}

.setup-next-step small{
    display:block;
    color:#8a8f9d;
    font-size:9px;
    font-weight:800;
}

.setup-next-step b{
    display:block;
    margin:2px 0;
    color:#17205f;
    font-size:13px;
}

.setup-next-step p{
    margin:0;
    color:#7d8291;
    font-size:10.5px;
}

.setup-health-details{
    margin-top:12px;
}

.setup-health-details summary{
    cursor:pointer;
    color:#26327c;
    font-size:11px;
    font-weight:800;
}

.setup-step-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
}

.setup-step{
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px;
    border:1px solid #e5e7ef;
    border-radius:11px;
    background:#fff;
    text-decoration:none;
}

.setup-step-state{
    flex:0 0 32px;
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#f3f4f8;
}

.setup-step.done{
    border-color:#d7eadc;
    background:#f8fcf9;
}

.setup-step.done .setup-step-state{
    color:#17824b;
    background:#e8f6ed;
    font-weight:900;
}

.setup-step b{
    display:block;
    color:#17205f;
    font-size:11px;
}

.setup-step small{
    display:block;
    margin-top:2px;
    color:#858a97;
    font-size:9.5px;
    line-height:1.4;
}

@media(max-width:720px){

    .setup-health-top{
        flex-direction:column;
    }

    .setup-health-score{
        width:100%;
        text-align:start;
    }

    .setup-next-step{
        grid-template-columns:42px minmax(0,1fr);
    }

    .setup-next-step .btn{
        grid-column:1/-1;
    }

    .setup-step-grid{
        grid-template-columns:1fr;
    }

}


/* =================================================
   V54.2 GUIDED SETUP COMPLETION
   ================================================= */

.dashboard-primary-action{
    display:flex;
    align-items:center;
    gap:8px;
}

.setup-health-complete{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin:0 0 16px;
    padding:12px 14px;
    border:1px solid #cfe7d7;
    border-radius:14px;
    background:#f6fcf8;
}

.setup-complete-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e4f6ea;
    color:#16804a;
    font-size:18px;
    font-weight:900;
}

.setup-health-complete b{
    display:block;
    color:#17683f;
    font-size:12px;
}

.setup-health-complete p{
    margin:2px 0 0;
    color:#718178;
    font-size:10.5px;
}

@media(max-width:680px){

    .setup-health-complete{
        grid-template-columns:40px minmax(0,1fr);
    }

    .setup-health-complete .btn{
        grid-column:1/-1;
    }

}


/* V54.2 completion cleanup */
.setup-health-complete{
    grid-template-columns:42px minmax(0,1fr);
}



/* ===== V57.2 LANDING PRICING SIMPLIFICATION ===== */

.plan-description{
  min-height:72px!important;
}

.plan-main-features{
  flex:0!important;
  margin-bottom:10px!important;
}

.plan-more{
  margin:2px 0 18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.plan-more summary{
  cursor:pointer;
  padding:12px 2px;
  color:var(--primary);
  font-size:13px;
  font-weight:900;
  list-style:none;
  user-select:none;
}

.plan-more summary::-webkit-details-marker{
  display:none;
}

.plan-more summary::after{
  content:"+";
  float:inline-end;
  width:22px;
  height:22px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:#f1f3ff;
  color:var(--primary);
  font-size:16px;
}

.plan-more[open] summary::after{
  content:"−";
}

.plan-more ul{
  margin:0 0 12px!important;
  padding:0!important;
  display:grid;
  gap:7px;
}

.plan-more li{
  font-size:12px!important;
}

.public-plan > .btn{
  margin-top:auto;
}

@media(max-width:800px){

  .plan-description{
    min-height:auto!important;
  }

}

/* ===== V57.3 PUBLIC NAV ANCHORS ===== */
.section-anchor{
  scroll-margin-top:110px;
  position:relative;
  top:-18px;
}

/* ===== V59 OTP ABUSE PROTECTION UI ===== */

.otp-limit-alert{
  display:grid;
  gap:5px;
  margin:16px 0 18px;
  padding:14px 16px;
  border-radius:14px;
  background:#fff4e8;
  border:1px solid #ffd6ad;
  color:#7a4a11;
}

.otp-limit-alert b{
  font-size:14px;
  font-weight:950;
}

.otp-limit-alert span{
  font-size:13px;
  line-height:1.7;
}


/* ===== V55.4F WhatsApp Automation Health ===== */

.whatsapp-health-panel{
  margin-bottom:18px;
}

.whatsapp-health-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.whatsapp-health-grid>div{
  padding:14px;
  border:1px solid var(--border,rgba(127,127,127,.18));
  border-radius:14px;
  background:var(--card-bg,rgba(127,127,127,.04));
}

.whatsapp-health-grid small{
  display:block;
  margin-bottom:6px;
  opacity:.72;
}

.whatsapp-health-grid strong{
  display:block;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .whatsapp-health-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .whatsapp-health-grid{
    grid-template-columns:1fr;
  }
}
