/* Cash Boost — design premium v2. À charger APRÈS le <style> principal. */
:root{--radius-sm:14px;--radius:20px;--radius-lg:26px;--nav-h:64px}
[data-theme="dark"]{--bg:#07070a;--bg-2:#040406;--surface:#0f0f15;--surface-2:#0b0b10;--surface-3:#09090d;--surface-elev:#16161e;--line:#1f1f29;--line-strong:rgba(255,255,255,.09);--gold-text:#f6d96a}
[data-theme="light"]{--bg:#f4f4f7;--line-strong:rgba(15,16,20,.10);--gold-text:#8f6c00}
body{padding-bottom:calc(var(--nav-h) + 30px + env(safe-area-inset-bottom,0px))}
body.landing-active{padding-bottom:0}
h1,h2,h3{letter-spacing:-.03em}
.eyebrow,.rate small,.footer-col h4{text-transform:none;letter-spacing:.01em;font-size:13px;font-weight:600}
.eyebrow{color:var(--gold-text)}
.status{text-transform:none;letter-spacing:0;font-size:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

/* ── Accueil ── */
.landing{position:relative}
.landing::before{content:"";position:absolute;inset:0 0 auto 0;height:760px;z-index:0;pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0%,#000 15%,transparent 70%)}
.landing>section,.landing>footer{position:relative;z-index:1}
.landing-header{border-bottom:1px solid var(--line-soft)}
.hero-landing{padding-top:84px;padding-bottom:64px}
.hero-title{font-size:clamp(38px,7.4vw,72px);line-height:1.02;letter-spacing:-.045em}
.hero-sub{max-width:560px;font-size:clamp(16px,2.2vw,19px)}
.pill{background:var(--surface);border-color:var(--line-strong)}
.hero-demo{position:relative;z-index:1;width:100%;max-width:400px;margin:44px auto 0;padding:20px 22px;text-align:left;border:1px solid var(--line-strong);border-radius:24px;background:linear-gradient(180deg,var(--surface-elev),var(--surface));box-shadow:0 40px 80px -40px rgba(0,0,0,.7),0 0 0 8px var(--primary-soft)}
.demo-top{display:flex;align-items:center;gap:10px;font:600 14px 'Space Grotesk',sans-serif;color:var(--text-strong);margin-bottom:16px}
.demo-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}
.demo-step{position:relative;display:flex;align-items:center;gap:12px;padding:9px 0;font-size:14px;color:var(--muted)}
.demo-step i{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);flex:none;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:11px}
.demo-step:not(:last-child)::after{content:"";position:absolute;left:10px;top:32px;height:14px;width:2px;background:var(--line-strong)}
.demo-step.done{color:var(--text)}
.demo-step.done i{background:var(--success);border-color:var(--success);color:#06140d}
.demo-step.done i::before{content:"✓";font-weight:800}
.demo-step.live{color:var(--text-strong);font-weight:600}
.demo-step.live i{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);animation:dotPulse 2s ease-in-out infinite}
.stats-bar{border-color:var(--line-strong)}
.stat strong{font-size:34px}
.landing-section{padding-top:92px;padding-bottom:92px}
.section-head-centered h2{font-size:clamp(28px,5vw,44px)}
.final-cta{border-radius:30px}
.landing-footer{border-top-color:var(--line-strong)}

/* Boutons */
.primary-btn,.btn-primary-lg,.btn-primary-sm{background:linear-gradient(180deg,#ffdc3d,#f2bf00);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 22px -8px rgba(252,207,2,.45)}
.primary-btn,.btn-primary-lg,.secondary-btn{min-height:54px}
.primary-btn:active:not(:disabled),.btn-primary-lg:active,.secondary-btn:active,.quick button:active,.pay-method-card:active{transform:scale(.97)}

/* Cartes */
.card,.landing-svc,.how-card,.testimonial,.faq-item,.service-card,.summary,.pay-instructions,.settings-box{background:linear-gradient(180deg,var(--surface-elev),var(--surface));border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px -26px rgba(0,0,0,.55)}
[data-theme="light"] .card,[data-theme="light"] .landing-svc,[data-theme="light"] .how-card,[data-theme="light"] .testimonial,[data-theme="light"] .faq-item,[data-theme="light"] .service-card,[data-theme="light"] .summary,[data-theme="light"] .pay-instructions,[data-theme="light"] .settings-box{box-shadow:0 1px 2px rgba(15,16,20,.05),0 14px 34px -20px rgba(15,16,20,.22)}
.how-card:hover,.testimonial:hover{transform:none;border-color:var(--line-strong)}
.how-num{font-size:36px}
.faq-item{border-radius:18px}
.faq-item summary{padding:20px 22px}

/* App */
.topbar{padding-right:72px}
.service-card{border-radius:22px}
.service-visual{height:140px;background:radial-gradient(circle at 50% 0%,rgba(252,207,2,.12),transparent 70%),linear-gradient(145deg,#1a1a24,#0f0f16)}
.service-info .primary-btn{min-height:40px;padding:10px 24px}
input,select,textarea{font-size:16px;background:var(--surface-2);border-color:var(--line-strong)}
input,select{height:54px}
.rate strong{font-size:28px;color:var(--primary)}
.amount-box,.quick button{border-color:var(--line-strong)}
.amount-box{border-radius:18px}
.amount-mid input{font-size:34px}
.sumrow{align-items:center}
.sumrow.total{border-top:1px dashed var(--line-strong)}
.sumrow.total strong{font-size:28px;color:var(--primary);line-height:1}
.fee-note{margin-top:10px}
.pay-method-card{border-radius:16px}
.pay-recipient{border-radius:16px;border-color:var(--primary-line);background:linear-gradient(135deg,var(--primary-soft),transparent 70%),var(--surface)}
.pay-recipient-number{font-size:24px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.proof-upload-zone{border-radius:18px;border-color:var(--line-strong)}
.list-card{padding:6px 18px}
.order{padding:16px 0}
.order-top strong:first-child{font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-.02em}
.order-top strong:last-child{color:var(--gold-text);font-weight:600}
.order-meta{font-size:12px}
.admin-tab,.svc-edit{border-color:var(--line-strong);border-radius:14px}
.bottom{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));max-width:calc(var(--max-w) - 24px);padding-bottom:0;border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--shadow-toast)}
.bottom button.active::before{display:none}
.bottom button.active .nav-icon{width:54px;height:30px;border-radius:999px;background:var(--primary-soft)}
.toast{opacity:0;visibility:hidden;transform:translate(-50%,calc(-100% - 60px - env(safe-area-inset-top,0px)));transition:transform var(--t-slow),opacity var(--t-slow),visibility var(--t-slow)}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Ordinateur */
@media (min-width:900px){
  .app{max-width:1040px}
  .auth{max-width:460px;margin:0 auto}
  .topbar{padding:0 32px}
  main{padding:36px 32px}
  .hero h1{font-size:44px}
  .services-list{grid-template-columns:repeat(3,1fr);gap:20px}
  #page-service,#page-orders,#page-account{max-width:680px;margin:0 auto}
  .bottom{max-width:460px}
}
@media (max-width:540px){
  .hero-landing{padding:52px 18px 40px}
  .landing-section{padding-top:64px;padding-bottom:64px}
  .stat strong{font-size:26px}
}

/* ── Formulaire ── */
.op{position:sticky;top:var(--topbar-h);z-index:15;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 -2px 16px;padding:10px 4px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft)}
.op::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:calc(var(--op,0)*33.333%);background:var(--primary);transition:width var(--t-base)}
.op-step{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600;padding:6px 4px;border-radius:12px;min-width:0}
.op-step i{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font:700 12px 'Space Grotesk',sans-serif;border:1.5px solid var(--line-strong)}
.op-step.active{color:var(--text-strong)}
.op-step.active i{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.op-step.done{color:var(--text)}
.op-step.done i{background:var(--success);border-color:var(--success);color:#06140d;font-size:0}
.op-step.done i::before{content:"✓";font-size:12px;font-weight:800}
.section{scroll-margin-top:150px}
#page-service{padding-bottom:120px}
.ob{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + 22px + env(safe-area-inset-bottom,0px));max-width:calc(var(--max-w) - 24px);margin:0 auto;z-index:49;display:flex;align-items:center;gap:14px;padding:10px 10px 10px 18px;border:1px solid var(--glass-border);border-radius:20px;background:var(--glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--shadow-toast)}
.ob-total{flex:1;min-width:0}
.ob-total small{display:block;color:var(--muted);font-size:12px}
.ob-total strong{font:700 20px 'Space Grotesk',sans-serif;color:var(--text-strong);white-space:nowrap}
.ob .primary-btn{width:auto;padding:0 26px;min-height:48px}
.pay-copy-wide{width:100%;justify-content:center;margin:0 0 12px;padding:12px;font-size:13px;font-weight:600}
.pay-copy-wide b{color:var(--primary);margin-left:2px}
.field-err{display:none;margin-top:8px;color:var(--danger);font-size:13px;font-weight:600;line-height:1.4}
.field-err.show{display:flex;gap:8px;align-items:flex-start}
.field-err.show::before{content:"!";flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;background:var(--danger);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
input.invalid,.amount-box.invalid,.proof-upload-zone.invalid{border-color:var(--danger) !important;box-shadow:0 0 0 3px var(--danger-soft)}
#orderSuccess{display:none !important}
.sv{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(5,5,7,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sv.show{display:flex}
.sv-card{width:100%;max-width:400px;padding:28px 24px;text-align:center;border:1px solid var(--line-strong);border-radius:28px;background:linear-gradient(180deg,var(--surface-elev),var(--surface));box-shadow:var(--shadow-lift);animation:successPop .5s cubic-bezier(.34,1.56,.64,1)}
.sv-check{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--success);color:#06140d;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;box-shadow:0 0 0 8px var(--success-soft)}
.sv h2{font-size:24px;margin-bottom:6px}
.sv p{color:var(--muted);font-size:14px}
.sv-info{margin:20px 0 16px;padding:4px 16px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface-2);text-align:left}
.sv-info div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;font-size:14px}
.sv-info div+div{border-top:1px dashed var(--line-strong)}
.sv-info dt{color:var(--muted)}
.sv-info dd{margin:0;font-weight:700;color:var(--text-strong);text-align:right}
.sv .primary-btn{margin-top:18px}
.sv .secondary-btn{margin-top:10px}
@media (min-width:900px){.ob{max-width:460px}}

/* ── Détails premium ── */
.landing-svc:hover,.service-card:hover,.btn-primary-lg:hover,.btn-primary-sm:hover,.primary-btn:hover:not(:disabled),.google-btn:hover:not(:disabled),.theme-toggle:hover{transform:none}
.landing-svc:hover .landing-svc-visual img{transform:none}
.btn-primary-lg::before{display:none}
.gradient-text,.hero-bg-glow,.pill-dot{animation:none}
.reveal{opacity:1;transform:none;transition:none}
.ob-total strong.bump{animation:bump .3s ease}
.primary-btn.loading{position:relative;color:transparent !important;pointer-events:none}
.primary-btn.loading::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;border:2px solid rgba(10,9,14,.25);border-top-color:#0a090e;border-radius:50%;animation:spin .6s linear infinite}

/* Écrans de chargement */
.sk-block,.sk-line{background:linear-gradient(90deg,var(--skeleton-a) 25%,var(--skeleton-b) 50%,var(--skeleton-a) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
.sk-block{height:180px}
.sk-line{height:14px;border-radius:7px}
.sk-line.w60{width:60%;height:20px}
.sk-line.w40{width:40%}
.landing-svc.sk{pointer-events:none}

/* Chiffres */
.rate strong,.sumrow strong,.order-top strong,.ob-total strong,.pay-recipient-number,.stat strong,.amount-mid input,.sv-info dd,.quick button,.landing-svc-meta span,.pay-copy-wide b{font-family:'Space Grotesk','Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* Thème clair */
[data-theme="light"]{--muted:#4f4f5c;--muted-2:#6c6c79;--line:#d8d8e0;--line-strong:rgba(15,16,20,.14);--primary-line:rgba(143,108,0,.30);--success:#047857}
[data-theme="light"] :is(.eyebrow,.user-name,.back,.auth-back,.link,.rate strong,.sumrow.total strong,.step,.pay-step-num,.proof-link,.landing-svc-meta span,.pay-copy-wide b,.svc-edit h4,.bottom button.active,.op-step.active i,.order-top strong:last-child){color:var(--gold-text)}
[data-theme="light"] .faq-item summary::after{color:var(--gold-text)}
[data-theme="light"] .gradient-text{background-image:linear-gradient(135deg,#b88700,#8f6c00)}

/* ── Avis hors heures ── */
.opening-hours-notice{padding:16px;margin-bottom:20px;border-radius:var(--radius-sm);background-color:#fff9e6;border:1px solid #ffeeba;color:#856404;font-size:13.5px;line-height:1.55;text-align:left}
.opening-hours-notice strong{font-weight:700;color:#7a5a00}
[data-theme="dark"] .opening-hours-notice{background-color:rgba(252,207,2,.08);border-color:rgba(252,207,2,.25);color:var(--primary)}
[data-theme="dark"] .opening-hours-notice strong{color:var(--primary-light)}

/* ── Rate tiers admin UI ── */
.tiers-box{margin-top:4px}
.tiers-table{width:100%;border-collapse:collapse;font-size:13px}
.tiers-table th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);padding:0 6px 6px;text-transform:uppercase;letter-spacing:.04em}
.tiers-table td{padding:4px 4px}
.tiers-table input{height:40px;width:100%;font-size:14px}
.tiers-table .tier-del{width:40px;height:40px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--danger);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.tiers-table .tier-del:hover{background:var(--danger-soft)}
.tiers-add{margin-top:8px;width:100%;height:40px;border:1px dashed var(--line-strong);border-radius:12px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}
.tiers-add:hover{border-color:var(--primary);color:var(--primary)}
.field-help{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.45}

/* ── Opening hours variants ── */
.opening-hours-notice.is-open{background-color:rgba(52,211,153,.10);border-color:rgba(52,211,153,.28);color:var(--success)}
.opening-hours-notice.is-open strong{color:var(--success)}
[data-theme="light"] .opening-hours-notice.is-open{background-color:#ecfdf5;border-color:#a7f3d0;color:#047857}
[data-theme="light"] .opening-hours-notice.is-open strong{color:#047857}

/* ── Admin filter bar ── */
.admin-filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.admin-filter-btn{padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}
.admin-filter-btn.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.admin-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;margin-left:4px}

/* ── Relative time + reorder ── */
.order-ago{color:var(--muted-2);font-size:11px}
.reorder-btn{margin-top:10px;width:100%;height:42px;border:1px solid var(--primary-line);border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:700;font-size:13px;cursor:pointer}
.reorder-btn:hover{background:var(--primary);color:#0a090e}

/* ── Rappel hors horaires ── */
.ah-banner{margin:0 0 16px;padding:14px 16px;border-radius:16px;border:1px solid rgba(251,191,36,.35);background:rgba(251,191,36,.08)}
.ah-banner-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin-bottom:12px}
.ah-banner-head strong{font-size:14px;color:var(--warning)}
.ah-banner-head span{font-size:12px;color:var(--muted)}
.ah-banner-list{display:flex;flex-direction:column;gap:8px}
.ah-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line-strong)}
.ah-row.ah-done{opacity:.45;pointer-events:none}
.ah-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ah-row-info strong{font-size:13px;color:var(--text-strong)}
.ah-row-info span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ah-wa-btn,.wa-notify.ah-take{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;border:1px solid var(--whatsapp);background:rgba(37,211,102,.12);color:var(--whatsapp);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.ah-wa-btn:hover,.wa-notify.ah-take:hover{background:rgba(37,211,102,.22)}
.ah-tag{display:inline-block;margin-left:4px;padding:2px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}

/* ── Infos sauvegardées ── */
.saved-hint{display:none;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--success-soft);border:1px solid rgba(52,211,153,.28);color:var(--success);font-size:12px;font-weight:600;line-height:1.4}
.saved-hint.show{display:block}

/* ── QR code paiement ── */
.pay-qr-box{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 14px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line-strong)}
.pay-qr-box canvas{width:160px;height:160px;border-radius:12px;background:#fff;padding:8px;box-sizing:content-box}
.pay-qr-hint{margin:0;text-align:center;font-size:12px;color:var(--muted);line-height:1.45;max-width:260px}
.pay-qr-hint strong{color:var(--text-strong)}
.pay-qr-img{width:min(220px,70vw);height:auto;border-radius:12px;background:#fff}

/* ── Connexion ── */
.pw-wrap{position:relative}
.pw-wrap input{padding-right:96px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:42px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;font-weight:600}
.pw-toggle:hover{color:var(--text-strong)}
.msg.err,.msg.ok{padding:10px 12px;border-radius:12px;margin-top:12px}
.msg.err{background:var(--danger-soft);color:var(--danger)}
.msg.ok{background:var(--success-soft);color:var(--success)}
.msg:empty{padding:0;margin-top:10px;background:none}

/* ── Accueil : infos sous le nom du service ── */
.service-meta{margin:4px 0 0;font-size:12px;font-weight:500;color:var(--muted);text-align:center;line-height:1.35}

/* ── Mes commandes : état vide ── */
.empty-state{padding:34px 12px 26px;text-align:center}
.empty-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:24px}
.empty-state h3{font-size:18px;margin-bottom:6px}
.empty-state p{color:var(--muted);font-size:14px;margin-bottom:18px}
.empty-state .primary-btn{width:auto;padding:0 28px}

/* ── Admin : résumé + recherche ── */
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.admin-stats div{padding:12px 8px;text-align:center;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-2)}
.admin-stats strong{display:block;font:700 20px 'Space Grotesk',sans-serif;color:var(--text-strong);letter-spacing:-.02em}
.admin-stats span{font-size:11px;color:var(--muted)}
.admin-search{margin-bottom:12px}
.admin-search input{height:46px;border-radius:14px}

/* ── Hors connexion ── */
.offline-bar{position:fixed;top:0;left:0;right:0;z-index:500;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;text-align:center;background:var(--danger);color:#fff;font-size:13px;font-weight:600}
.offline-bar[hidden]{display:none}

/* ── Montant rapide sélectionné ── */
.quick button.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}

/* ── Pastille sur l'onglet Commandes ── */
.bottom .nav-icon{position:relative}
.nav-badge{position:absolute;top:-5px;right:-1px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}

/* ── Accessibilité ── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* ── Cartes cadeaux : valeurs fixes ── */
.quick.preset{grid-template-columns:repeat(4,1fr);margin-top:6px}
.quick.preset button{min-height:46px;font-size:14px}
@media (max-width:380px){.quick.preset{grid-template-columns:repeat(3,1fr)}}

/* ── Explication d'utilisation de la carte ── */
.howto{margin:4px 0 22px;padding:16px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface-2)}
.howto strong{display:block;font-size:15px;color:var(--text-strong);margin-bottom:8px}
.howto ol{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px;line-height:1.45;color:var(--text)}
.howto b{color:var(--gold-text)}
.howto p{margin:10px 0 0;font-size:13px;color:var(--muted)}
.service-meta span{display:block}
.service-meta span:first-child{font-weight:700;color:var(--text)}

/* ── Admin : MeruTag copiable ── */
.copy-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;margin:0 1px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-2);color:var(--text-strong);font:600 12px/1.4 inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;max-width:min(100%,230px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.copy-tag:active{transform:scale(.96)}
.copy-tag.copied{border-color:var(--success);color:var(--success);background:var(--success-soft)}

/* ── Bloc de réassurance ── */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.trust-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;text-align:center;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface-2);color:var(--text);text-decoration:none}
.trust-ico{font-size:20px;line-height:1;margin-bottom:4px}
.trust-item strong{font-size:13px;color:var(--text-strong)}
.trust-item small{font-size:11px;color:var(--muted)}
a.trust-item:active{transform:scale(.97)}

/* ── E-mails / tags trop longs ── */
.tag-ellipsis{display:inline-block;max-width:min(100%,230px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}

/* ── Écran de démarrage : logo avec reflet doré, nom et promesse ── */
.boot-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0b0b0e;overflow:hidden;transition:opacity .45s ease,visibility .45s ease}
.boot-splash.gone{opacity:0;visibility:hidden;pointer-events:none}
.splash-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}
.splash-mark{position:relative;width:104px;height:104px;border-radius:28px;overflow:hidden;animation:splashIn .7s cubic-bezier(.22,1,.36,1) both}
.splash-logo{display:block;width:100%;height:100%;object-fit:cover}
.splash-mark::after{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-160%) skewX(-20deg);animation:splashShine 1.8s ease-in-out .6s infinite}
.splash-title{margin:22px 0 0;font:700 26px 'Space Grotesk',sans-serif;letter-spacing:-.5px;color:#fff;animation:splashFade .6s ease-out .5s both}
.splash-tag{margin:8px 0 0;font-size:13px;letter-spacing:.2px;color:#8a8a94;animation:splashFade .6s ease-out .8s both}
@keyframes splashIn{0%{opacity:0;transform:scale(.88)}100%{opacity:1;transform:scale(1)}}
@keyframes splashFade{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
@keyframes splashShine{0%{transform:translateX(-160%) skewX(-20deg)}60%,100%{transform:translateX(420%) skewX(-20deg)}}

/* ── Connexion : onglets ── */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:18px;border-radius:14px;background:var(--surface-3)}
.auth-tab{height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:14px;font-weight:600}
.auth-tab.active{background:var(--surface);color:var(--text-strong);box-shadow:0 1px 6px rgba(0,0,0,.12)}

/* ── Connexion : validation ── */
.ok-mark{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--success);font-weight:700;font-size:16px}
.hint{margin-top:8px;font-size:13px;color:var(--muted);line-height:1.4}
.hint.err{color:var(--danger);font-weight:600}
.hint .link{font-size:13px}
.opt{color:var(--muted);font-weight:400;font-size:12px}
.pw-meter{margin-top:10px;display:flex;align-items:center;gap:10px}
.pw-bar{flex:1;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.pw-bar i{display:block;height:100%;width:0;border-radius:99px;transition:width .25s,background .25s}
.pw-meter small{min-width:96px;font-size:12px;color:var(--muted);text-align:right}
.terms{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:13px;line-height:1.45;color:var(--muted)}
.terms input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--primary)}
.terms .link{font-size:13px}
.auth-reassure{margin:14px 0 0;text-align:center;font-size:12px;color:var(--muted)}
#forgotBtn.emph{padding:11px 18px;border:1px solid var(--primary);border-radius:12px;text-decoration:none;background:var(--primary-soft)}

/* ── Écran « Vérifie ta boîte mail » ── */
.check-ico{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:30px}
.check-title{text-align:center}
.check-text{margin:0 0 18px;text-align:center;font-size:14px;line-height:1.5;color:var(--muted)}
.check-text strong{color:var(--text-strong);word-break:break-all}
.check-link{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-bottom:10px}
.ghost-btn{width:100%;padding:14px 18px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-strong);font-size:14px;font-weight:600}
.ghost-btn:disabled{opacity:.6}

/* ── Conditions / confidentialité ── */
.legal-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.55)}
.legal-modal.hidden{display:none}
.legal-sheet{width:100%;max-width:560px;max-height:82vh;display:flex;flex-direction:column;border-radius:22px 22px 0 0;background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0px)}
.legal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid var(--line-strong);font-size:16px;color:var(--text-strong)}
.legal-head button{width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-3);color:var(--text)}
.legal-body{padding:16px 20px 24px;overflow-y:auto;font-size:14px;line-height:1.55;color:var(--text)}
.legal-body p{margin:0 0 12px}

/* ── Commandes : total des achats ── */
.total-card{margin-bottom:14px;padding:18px;text-align:center}
.total-title{margin-bottom:12px;font-size:16px;font-weight:700;color:var(--text-strong)}
.total-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface)}
.total-row span{font-size:13px;font-weight:700;color:var(--muted)}
.total-row strong{font:700 24px 'Space Grotesk',sans-serif;letter-spacing:-.02em;color:var(--text-strong)}
.total-note{margin:10px 0 0;font-size:12px;color:var(--muted)}

/* ── Passkeys ── */
.passkey-btn{margin-bottom:10px}
.passkey-list{display:grid;gap:8px;margin:10px 0}
.passkey-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-2)}
.passkey-item strong{display:block;font-size:14px;color:var(--text-strong)}
.passkey-item small{font-size:12px;color:var(--muted)}
.link.danger{color:var(--danger)}

/* ═══════════════════════════════════════════════════════════════
   PATCH 1 : Case à cocher du modal de confirmation Plasma
   ═══════════════════════════════════════════════════════════════ */
input[type="checkbox"]{
  width:20px;height:20px;min-width:20px;max-width:20px;
  min-height:20px;max-height:20px;padding:0;
  border:1.5px solid var(--line-strong);border-radius:6px;
  background:var(--surface);accent-color:var(--primary);
  cursor:pointer;flex:none;box-shadow:none;
  -webkit-appearance:none;appearance:none;
  position:relative;display:inline-block;vertical-align:middle;
}
input[type="checkbox"]:checked{background:var(--primary);border-color:var(--primary)}
input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;
  border:solid #0a090e;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);
}
.net-confirm{
  display:none;align-items:flex-start;gap:12px;margin:14px 0 4px;
  padding:12px 14px;border-radius:14px;
  background:rgba(251,113,133,.10);border:1px solid rgba(251,113,133,.28);
  color:var(--danger);font-size:13px;line-height:1.5;font-weight:600;
  cursor:pointer;text-align:left;box-sizing:border-box;
}
.net-confirm.show{display:flex}
.net-confirm input[type="checkbox"]{margin-top:2px;border-color:var(--danger);accent-color:var(--danger)}
.net-confirm input[type="checkbox"]:checked{background:var(--danger);border-color:var(--danger)}
.net-confirm input[type="checkbox"]:checked::after{border-color:#fff}
.net-confirm span{flex:1;min-width:0}
.net-confirm b{color:var(--text-strong);font-weight:700}

/* ═══════════════════════════════════════════════════════════════
   PATCH 2 : Adresses longues (Plasma) dans le modal
   ═══════════════════════════════════════════════════════════════ */
.sv-info div{flex-wrap:wrap}
.sv-info dt{flex:0 0 auto;max-width:45%}
.sv-info dd{flex:1 1 auto;min-width:0;max-width:55%;word-break:break-all;overflow-wrap:anywhere;white-space:normal}
#cvTag{word-break:break-all;overflow-wrap:anywhere;font-family:'SF Mono',Menlo,Consolas,monospace;font-size:13px;letter-spacing:0;line-height:1.4}
#cvTagLabel{word-break:break-word;overflow-wrap:anywhere}
.sv-card{max-width:min(420px, calc(100vw - 24px));box-sizing:border-box}
.sv-info{max-width:100%;box-sizing:border-box}
.sv-info dd{text-align:right}
@media (max-width:380px){
  .sv-info dd{text-align:right;max-width:60%}
  .sv-info dt{max-width:40%}
}

/* ═══════════════════════════════════════════════════════════════
   PATCH 3 : Avertissement avant upload (rassurant, informatif)
   ═══════════════════════════════════════════════════════════════ */
.proof-tip{
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--primary-soft), transparent 80%);
  border:1px solid var(--primary-line);
  color:var(--text);
  font-size:13px;
  line-height:1.55;
}
.proof-tip-head{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  color:var(--primary);
  margin-bottom:8px;
  font-size:14px;
}
.proof-tip-intro{
  margin:0 0 12px;
  color:var(--text);
  font-size:13px;
  line-height:1.5;
}
.proof-tip-checks{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  padding:0;
}
.proof-tip-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:12.5px;
  color:var(--muted);
  line-height:1.45;
}
.proof-tip-icon{
  flex:none;
  width:16px;
  height:16px;
  margin-top:1px;
  border-radius:50%;
  background:var(--success-soft);
  color:var(--success);
  font-size:10px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
.proof-tip-check b{
  color:var(--text-strong);
  font-weight:700;
}
[data-theme="light"] .proof-tip{
  background:linear-gradient(135deg, rgba(217,168,0,.08), transparent 80%);
}

/* ═══ Accueil : améliorations (services actifs d'abord, badges, nom, pleine largeur) ═══ */
.app .topbar{padding-right:72px;gap:12px}
.app .topbar .brand{flex:0 0 auto}
.app .topbar .user-name{flex:1 1 auto;min-width:0;max-width:none;text-align:right}
.service-title h2{line-height:1.25}
.svc-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.4;vertical-align:middle;letter-spacing:0}
.svc-badge-auto{background:var(--success-soft);color:var(--success)}
.svc-badge-manuel{background:var(--primary-soft);color:var(--primary)}
.service-meta{margin-top:6px}
.services-list .service-card.soon{opacity:.6}
.services-list .service-card.soon:hover{transform:none;box-shadow:var(--shadow-card);border-color:var(--line-strong)}
.services-list .service-card.soon .service-visual{height:76px;padding:10px;filter:grayscale(1)}
.services-list .service-card.soon .service-visual img{height:44px;max-height:44px;width:auto;max-width:80%}
.services-list .service-card.soon .svc-initials{font-size:30px}
.services-list .service-card.soon .service-info{padding:10px 8px 12px;gap:8px}
.services-list .service-card.soon .service-info .primary-btn{min-height:34px;padding:6px 18px}
@media (max-width:899px){
  .services-list .service-card.wide{grid-column:1 / -1;flex-direction:row}
  .services-list .service-card.wide .service-visual{flex:0 0 42%;height:auto;min-height:150px}
  .services-list .service-card.wide .service-info{border-top:0;border-left:1px solid var(--line-soft);justify-content:center;gap:16px;padding:16px 14px}
  .services-list .service-card.wide.soon .service-visual{min-height:76px}
}

/* ═══ Page de commande : améliorations ═══ */
#page-service .rate{display:none}
.svc-status{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-2);font-size:14px;font-weight:600;line-height:1.35;color:var(--text)}
.svc-status-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--danger)}
.svc-status.is-open .svc-status-dot{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}
.pay-instructions .pay-step{align-items:center}
.pay-instructions .pay-step-num{width:8px;height:8px;min-width:8px;margin:0;padding:0;border:0;border-radius:50%;background:var(--primary);font-size:0}
.pay-amount{margin:0 0 14px 18px}
.pay-amount strong{display:block;font:700 34px/1.1 'Space Grotesk','Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-strong)}
.pay-amount strong.is-empty{font-size:15px;font-weight:600;letter-spacing:0;color:var(--muted)}
.proof-tip-check .proof-tip-icon{width:6px;height:6px;margin-top:8px;background:var(--muted-2);font-size:0}
.ob{transition:transform .25s ease,opacity .2s ease}
.ob.ob-hidden{transform:translateY(140%);opacity:0;pointer-events:none}
.ob .primary-btn{white-space:nowrap}
.ob .primary-btn.is-wait{padding:0 18px;background:var(--surface-elev);color:var(--text);border:1px solid var(--line-strong);box-shadow:none}

/* ═══ Commandes : frise de suivi, mise en avant de la nouvelle commande ═══ */
.otl{list-style:none;margin:14px 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.otl-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;line-height:1.25;text-align:center;color:var(--muted)}
.otl-step::before{content:"";position:absolute;top:6px;right:50%;width:100%;height:2px;background:var(--line-strong)}
.otl-step:first-child::before{display:none}
.otl-step i{position:relative;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong)}
.otl-step.done{color:var(--text)}
.otl-step.done::before,.otl-step.active::before{background:var(--success)}
.otl-step.done i{background:var(--success);border-color:var(--success)}
.otl-step.active{color:var(--text-strong);font-weight:600}
.otl-step.active i{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.otl-step.bad{color:var(--danger);font-weight:600}
.otl-step.bad::before{background:var(--danger)}
.otl-step.bad i{background:var(--danger);border-color:var(--danger)}
.order.order-new{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft),var(--shadow-card)}

/* ═══ Adresse wallet : validation immédiate et bouton Coller ═══ */
.wallet-tools{display:flex;align-items:center;gap:10px;margin-top:8px}
.wallet-tools[hidden]{display:none}
.wallet-paste{flex:none;padding:7px 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600}
.wallet-paste:active{transform:scale(.97)}
.wallet-status{font-size:13px;font-weight:600;line-height:1.35}
.wallet-status.ok{color:var(--success)}
.wallet-status.bad{color:var(--danger)}

/* ═══ Preuve : exemple de capture valide ═══ */
.proof-example{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px}
.proof-example summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--gold-text,var(--primary));list-style:none}
.proof-example summary::-webkit-details-marker{display:none}
.proof-example-img{display:flex;justify-content:center;margin-top:12px}
.proof-example-img[hidden]{display:none}
.proof-example-img svg{width:100%;max-width:240px;height:auto;border-radius:14px;box-shadow:var(--shadow-card)}
.proof-example-cap{margin:10px 0 0;font-size:12px;color:var(--muted);text-align:center}

/* ═══ Connexion / inscription ═══ */
.forgot-inline{margin:8px 0 0;text-align:right}
.forgot-inline.hidden{display:none}
.google-hint{margin:2px 0 6px;text-align:center;font-size:12px;color:var(--muted)}
.google-hint.hidden{display:none}
.field-note{margin-top:6px;font-size:12px;color:var(--muted)}
.terms{cursor:pointer;padding:6px 0}
.terms .link{display:inline;padding:0;margin:0;font:inherit;font-weight:600;font-size:13px}
#loginCard a.wa-btn{margin-top:10px;padding:8px 6px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
#loginCard a.wa-btn:hover{background:transparent;color:var(--text)}

/* ═══ Cash Boost Premium UI layer + responsive usability fixes ═══ */
:root{--cb-gold:#f5c900;--cb-gold-deep:#947400;--cb-card-radius:22px;--cb-bottom-stack:148px}
.cb-tools{margin:0 0 16px;padding:0 2px}
.cb-search-label{display:block;font-size:13px;font-weight:700;color:var(--text);margin:0 0 7px}
.cb-searchbox{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--muted)}
.cb-searchbox:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.cb-searchbox>span{font-size:23px;line-height:1}
.cb-searchbox input{min-width:0;width:100%;height:46px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--text)!important;padding:0!important}
.cb-searchbox button{border:0;background:transparent;color:var(--muted);font-size:18px;padding:6px}
.cb-tool-hint{margin:6px 2px 0;font-size:12px;color:var(--muted)}
.cb-no-results{margin:10px 0;padding:15px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);font-size:13px;text-align:center}
.cb-filter-row{display:flex;gap:7px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}
.cb-filter-row::-webkit-scrollbar{display:none}
.cb-filter{flex:0 0 auto;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:700}
.cb-filter.active{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}
#servicesList>*[hidden],#ordersList .order[hidden]{display:none!important}
#page-service{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}
#page-service .ob{z-index:45;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 10px);}
.bottom{padding-bottom:env(safe-area-inset-bottom,0px);height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}
body{padding-bottom:calc(var(--nav-h) + 170px + env(safe-area-inset-bottom,0px))}
body.landing-active{padding-bottom:0}
#page-service input,#page-service select,#page-service textarea{max-width:100%}
#page-service .amount-box{max-width:100%}
#page-service .card{min-width:0}
#page-service .section{scroll-margin-top:120px}
#page-service .op{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:30}
button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary)!important;outline-offset:3px}
@media(max-width:390px){
  .cb-filter{padding:7px 10px;font-size:11px}
  #page-service .ob{left:10px;right:10px}
  #page-service .op-step span{font-size:12px}
  .cb-searchbox{border-radius:13px}
}
@media(min-width:700px){
  .cb-tools{max-width:760px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Fix final : recherche sans double croix ni double contour */
.cb-searchbox{position:relative;min-width:0;gap:9px;border:1px solid var(--line-strong);box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.cb-searchbox:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}
.cb-searchbox input[type="search"]{appearance:none;-webkit-appearance:none;min-width:0;flex:1 1 auto;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
.cb-searchbox input[type="search"]::-webkit-search-decoration,.cb-searchbox input[type="search"]::-webkit-search-cancel-button,.cb-searchbox input[type="search"]::-webkit-search-results-button,.cb-searchbox input[type="search"]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none}
.cb-searchbox input[type="search"]::-ms-clear{display:none;width:0;height:0}
.cb-searchbox button[hidden]{display:none!important}
.cb-searchbox button:not([hidden]){display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:16px;line-height:1}
.cb-searchbox button:not([hidden]):hover{background:var(--primary-soft);color:var(--text)}
.cb-searchbox>span{flex:0 0 auto;color:var(--muted)}
.cb-searchbox input:focus-visible{outline:0!important;outline-offset:0!important}
#servicesList .service-card.soon{cursor:default;opacity:.86}
#servicesList .service-card.soon button:disabled{cursor:not-allowed;opacity:.72}
#servicesList .service-card.soon .service-title{color:var(--muted)}
#servicesList .service-card.soon .service-info{min-width:0}
#servicesList .service-card.soon h2{overflow-wrap:anywhere}
@media(max-width:520px){.cb-tools{width:100%}.cb-searchbox{min-height:50px;padding-inline:12px;border-radius:15px}.cb-searchbox input{font-size:16px!important}.cb-service-tools{margin-bottom:14px}#servicesList{gap:12px}#servicesList .service-card{max-width:100%;min-width:0}.cb-tool-hint{line-height:1.4}}
@media(prefers-reduced-motion:reduce){.cb-searchbox{transition:none}}

/* Cash Boost — correctif global des barres fixes pour TOUS les services */
:root{--cb-fixed-total-clearance:224px;}
#page-service{
  box-sizing:border-box;
  padding-bottom:calc(var(--cb-fixed-total-clearance) + env(safe-area-inset-bottom,0px)) !important;
  scroll-padding-bottom:calc(var(--cb-fixed-total-clearance) + env(safe-area-inset-bottom,0px));
}
#page-service .section,
#page-service [id]{scroll-margin-bottom:calc(var(--cb-fixed-total-clearance) + env(safe-area-inset-bottom,0px));}
#page-service .ob{
  left:max(12px, env(safe-area-inset-left,0px));
  right:max(12px, env(safe-area-inset-right,0px));
  bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 12px);
  z-index:49;
  min-height:76px;
  box-sizing:border-box;
}
#page-service .ob-total{min-width:0;overflow:hidden;}
#page-service .ob-total small{line-height:1.35;}
#page-service .ob-total strong{display:block;overflow:hidden;text-overflow:ellipsis;}
#page-service .ob .primary-btn{flex:0 0 auto;max-width:58%;white-space:normal;line-height:1.25;text-align:center;}
.bottom{box-sizing:border-box;}
body:not(.landing-active){padding-bottom:calc(var(--nav-h) + var(--cb-fixed-total-clearance) + env(safe-area-inset-bottom,0px)) !important;}
#page-service .op{scroll-margin-top:calc(var(--topbar-h) + env(safe-area-inset-top,0px) + 8px);}
#page-service input,#page-service select,#page-service textarea,#page-service button{touch-action:manipulation;}
@media(max-width:540px){
  :root{--cb-fixed-total-clearance:238px;}
  #page-service{padding-left:12px;padding-right:12px;}
  #page-service .ob{left:10px;right:10px;gap:8px;padding:10px 10px 10px 14px;border-radius:17px;}
  #page-service .ob-total strong{font-size:18px;}
  #page-service .ob .primary-btn{max-width:55%;min-height:46px;padding:8px 12px;font-size:13px;}
}
@media(max-width:360px){
  :root{--cb-fixed-total-clearance:246px;}
  #page-service .ob{gap:6px;padding:8px;}
  #page-service .ob-total strong{font-size:16px;}
  #page-service .ob .primary-btn{max-width:52%;font-size:12px;padding:7px 9px;}
}
@media(min-width:700px){
  :root{--cb-fixed-total-clearance:200px;}
  #page-service .ob{max-width:calc(var(--max-w) - 24px);}
}

/* Correctif global : un seul indicateur doré au focus, pour tous les formulaires/services. */
input:focus, select:focus, textarea:focus,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--primary) !important;
}
.cb-searchbox input:focus, .cb-searchbox input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
button:focus-visible, a:focus-visible {
  outline: 2px solid var(--primary) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
                            }

/* Le reflet de l'écran de démarrage reste actif même si le téléphone réduit les animations (il est court et discret) */
@media (prefers-reduced-motion:reduce){
  .boot-splash .splash-mark::after{animation-duration:1.8s !important;animation-iteration-count:infinite !important;animation-delay:.6s !important}
  .boot-splash .splash-mark{animation-duration:.7s !important}
  .boot-splash .splash-title,.boot-splash .splash-tag{animation-duration:.6s !important}
}

/* Invitation « Active les notifications » (succès dépôt / commande) */
.push-nudge{margin:14px 0 4px;padding:14px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);text-align:left}
.push-nudge-t{margin:0 0 10px;font-size:14px;line-height:1.45}
.push-nudge-steps{margin:0 0 10px;padding-left:20px;font-size:13px;line-height:1.5;color:var(--muted)}
.push-nudge-act{display:flex;flex-direction:column;gap:6px}
.push-nudge-act .primary-btn{min-height:46px}
.push-nudge-later{background:none;border:0;padding:8px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}

/* ── Cartes services : image plein cadre, zone carrée (aucun rognage ni bord noir) ── */
.services-list .service-card:not(.soon) .service-visual{padding:0;overflow:hidden;height:auto;aspect-ratio:1/1}
.services-list .service-card:not(.soon) .service-visual img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0}


/* Header notification bell and compact mobile notification sheet */
.hdr-notif-btn{position:relative;flex:0 0 42px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 6px 18px rgba(0,0,0,.06);cursor:pointer}
.hdr-notif-btn:active{transform:scale(.97)}
.hdr-notif-dot{position:absolute;right:7px;top:6px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid var(--surface)}
.notif-modal{position:fixed;inset:0;z-index:8000;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))}
.notif-modal.hidden{display:none!important}
.notif-backdrop{position:absolute;inset:0;border:0;background:rgba(5,8,18,.55);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.notif-sheet{position:relative;z-index:1;width:100%;max-width:480px;padding:22px 20px 18px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 22px 70px rgba(0,0,0,.22);animation:notifSheetIn .2s ease-out}
.notif-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.notif-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--primary)}
.notif-head h2{margin:4px 0 0;font-size:23px;line-height:1.2}
.notif-close{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:25px;line-height:1}
.notif-status-icon{display:grid;place-items:center;width:62px;height:62px;margin:22px auto 14px;border-radius:20px;background:var(--primary-soft);font-size:28px}
.notif-info{margin:0 auto 18px;max-width:340px;text-align:center;font-size:15px;line-height:1.55;color:var(--muted)}
.notif-action{width:100%;min-height:48px;justify-content:center}
.notif-footnote{margin:12px 0 0;text-align:center;font-size:11px;line-height:1.45;color:var(--muted)}
@keyframes notifSheetIn{from{transform:translateY(14px);opacity:.65}to{transform:translateY(0);opacity:1}}
@media(min-width:700px){.notif-modal{align-items:center}.notif-sheet{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.notif-sheet{animation:none}}

/* Position the bell beside the theme toggle without squeezing the wallet header */
.hdr-notif-btn{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));right:68px;z-index:301}
.hdr-notif-dot{background:var(--success)}
@media(max-width:380px){.hdr-notif-btn{right:66px;width:38px;height:38px;top:calc(20px + env(safe-area-inset-top,0px))}}


/* Centre de notifications dans le site */
.notif-sheet{max-height:calc(88dvh - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
.notif-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px;font-size:14px;font-weight:800}
.notif-mark-all{border:0;background:transparent;color:var(--primary);font:inherit;font-size:12px;font-weight:700;padding:7px 0;cursor:pointer}
.notif-list{display:flex;flex-direction:column;gap:9px;max-height:36dvh;overflow-y:auto;padding:1px 2px 4px}
.notif-empty{padding:20px 14px;margin:0;text-align:center;font-size:13px;line-height:1.55;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.notif-item{display:flex;align-items:flex-start;gap:11px;width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);color:var(--text);cursor:pointer}
.notif-item.is-unread{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary-soft) 35%,var(--surface-2))}
.notif-item-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-weight:900}
.notif-item-icon.kind-success{background:rgba(16,185,129,.13);color:#059669}
.notif-item-icon.kind-warning{background:rgba(245,158,11,.15);color:#b77905}
.notif-item-body{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.notif-item-title{font-size:13px;line-height:1.35;font-weight:800}
.notif-item-message{font-size:12px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.notif-item-date{font-size:10px;color:var(--muted);margin-top:2px}
.notif-push-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.notif-push-settings .notif-status-icon{margin:12px auto}
.notif-push-settings .notif-info{font-size:13px}
@media(max-width:420px){.notif-modal{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}.notif-sheet{padding:18px 14px 14px;border-radius:22px}.notif-list{max-height:32dvh}.notif-history-head{margin-top:16px}}

/* Confirmation BEP-20 : supprimer le flash bleu tactile Android sans masquer le focus clavier */
.net-confirm,
.net-confirm *{
  -webkit-tap-highlight-color:transparent;
}
.net-confirm input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  outline:none;
  box-shadow:none;
}
.net-confirm input[type="checkbox"]:focus{
  outline:none;
  box-shadow:none;
}
.net-confirm input[type="checkbox"]:focus-visible{
  outline:2px solid var(--danger);
  outline-offset:3px;
}


/* Nouvelle identité Cash Boost — monogramme CB, bleu marine et cyan */
.brand{display:flex;align-items:center;min-width:0;height:var(--topbar-h)}
.brand img{display:block;width:158px;height:auto;max-height:44px;object-fit:contain;object-position:left center}
.auth-brand .logo{display:block;width:68px;height:68px;margin:0 auto 14px;object-fit:contain;border-radius:0}
/* Écran de démarrage minimaliste inspiré de la référence Izy-Store */
.boot-splash{background:#fff;color:#171717;padding:env(safe-area-inset-top,0) 20px env(safe-area-inset-bottom,0);isolation:isolate}
.boot-splash::before,.boot-splash::after{content:"";position:absolute;z-index:0;pointer-events:none;display:block;bottom:7%;border-radius:22px;transform:rotate(14deg)}
.boot-splash::before{left:-18px;width:112px;height:112px;background:#91b9ed}
.boot-splash::after{right:16%;bottom:7.5%;width:34px;height:34px;border-radius:9px;background:#55b8ed}
.splash-content{width:min(100%,440px);gap:0;position:relative;z-index:1;transform:translateY(1vh);padding:0 16px}
.splash-lockup{display:block;width:min(58vw,250px);height:auto;max-height:150px;object-fit:contain;animation:splashIn .65s cubic-bezier(.22,1,.36,1) both;filter:none}
.splash-loading-label{margin:18px 0 12px;color:#777;font-size:12px;font-weight:500;letter-spacing:5px;line-height:1.5;animation:splashFade .6s ease-out .25s both}
.splash-progress{position:relative;width:min(100%,340px);height:14px;overflow:hidden;border-radius:2px;background:#171717;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;font-weight:600}
.splash-progress-fill{position:absolute;inset:0;background:linear-gradient(90deg,#777,#bdbdbd);width:0%;transition:width .08s linear}
.splash-progress-value{position:relative;z-index:1;color:#fff}
@media(max-width:540px){.brand img{width:132px;max-height:38px}.splash-lockup{width:min(58vw,245px);max-height:148px}.splash-loading-label{margin-top:18px;margin-bottom:12px;font-size:11px;letter-spacing:4px}.splash-progress{width:min(100%,340px);height:14px}}
@media(prefers-reduced-motion:reduce){.splash-lockup,.splash-loading-label{animation:none!important}}
@media(prefers-reduced-motion:reduce){.splash-lockup,.splash-tag,.splash-loader{animation:none!important}}


/* Subtle letter-by-letter motion for the splash loading label */
.splash-loading-label .splash-letter{
  display:inline-block;
  animation:splashLetterPulse 1.35s ease-in-out infinite;
  will-change:transform,opacity;
}
.splash-loading-label .splash-letter:nth-child(1){animation-delay:0s}
.splash-loading-label .splash-letter:nth-child(2){animation-delay:.07s}
.splash-loading-label .splash-letter:nth-child(3){animation-delay:.14s}
.splash-loading-label .splash-letter:nth-child(4){animation-delay:.21s}
.splash-loading-label .splash-letter:nth-child(5){animation-delay:.28s}
.splash-loading-label .splash-letter:nth-child(6){animation-delay:.35s}
.splash-loading-label .splash-letter:nth-child(7){animation-delay:.42s}
.splash-loading-label .splash-letter:nth-child(8){animation-delay:.49s}
.splash-loading-label .splash-letter:nth-child(9){animation-delay:.56s}
.splash-loading-label .splash-dots{
  display:inline-block;
  animation:splashDotsPulse 1.1s ease-in-out infinite;
}
@keyframes splashLetterPulse{
  0%,100%{opacity:.58;transform:translateY(0)}
  45%{opacity:1;transform:translateY(-2px)}
}
@keyframes splashDotsPulse{
  0%,100%{opacity:.35}
  50%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .splash-loading-label .splash-letter,.splash-loading-label .splash-dots{animation:none!important;opacity:1;transform:none}
}


/* Izy-Store-inspired loading caption: small, spaced, quiet, no bouncing */
.splash-loading-label{
  margin:12px 0 9px!important;
  font-size:9px!important;
  line-height:1.4!important;
  letter-spacing:3px!important;
  font-weight:400!important;
  color:#858585!important;
}
.splash-loading-label .splash-letter{
  animation:splashLetterFade 1.8s ease-in-out infinite!important;
  transform:none!important;
}
.splash-loading-label .splash-letter:nth-child(1){animation-delay:0s!important}
.splash-loading-label .splash-letter:nth-child(2){animation-delay:.12s!important}
.splash-loading-label .splash-letter:nth-child(3){animation-delay:.24s!important}
.splash-loading-label .splash-letter:nth-child(4){animation-delay:.36s!important}
.splash-loading-label .splash-letter:nth-child(5){animation-delay:.48s!important}
.splash-loading-label .splash-letter:nth-child(6){animation-delay:.60s!important}
.splash-loading-label .splash-letter:nth-child(7){animation-delay:.72s!important}
.splash-loading-label .splash-letter:nth-child(8){animation-delay:.84s!important}
.splash-loading-label .splash-letter:nth-child(9){animation-delay:.96s!important}
.splash-loading-label .splash-dots{animation:splashDotsPulse 1.4s ease-in-out infinite!important}
@keyframes splashLetterFade{
  0%,100%{opacity:.48}
  50%{opacity:1}
}
@media(max-width:540px){
  .splash-loading-label{font-size:8px!important;letter-spacing:2.6px!important;margin:10px 0 8px!important}
}


/* Match the Izy-Store loading treatment: quiet static caption,
   light-gray track and a black progress fill. */
.splash-loading-label,
.splash-loading-label .splash-letter,
.splash-loading-label .splash-dots{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}
.splash-loading-label{
  font-size:9px!important;
  font-weight:400!important;
  letter-spacing:3px!important;
  color:#858585!important;
}
.splash-progress{
  background:#c9c9c9!important;
  color:#fff!important;
}
.splash-progress-fill{
  background:#171717!important;
}
.splash-progress-value{
  color:#fff!important;
}
@media(max-width:540px){
  .splash-loading-label{font-size:8px!important;letter-spacing:2.6px!important}
}


/* Reproduce Izy-Store's breathing letter spacing and moving progress value. */
.splash-loading-label{
  animation:splashCaptionBreath 1.65s ease-in-out infinite!important;
  letter-spacing:2.5px!important;
  opacity:1!important;
}
.splash-loading-label .splash-letter,
.splash-loading-label .splash-dots{
  display:inline!important;
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}
@keyframes splashCaptionBreath{
  0%,100%{letter-spacing:2.5px}
  50%{letter-spacing:6.5px}
}
.splash-progress{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  background:#c9c9c9!important;
}
.splash-progress-fill{
  display:block!important;
  position:absolute!important;
  top:0!important;left:0!important;bottom:0!important;
  background:#171717!important;
  width:0%;
}
.splash-progress-value{
  position:absolute!important;
  top:50%!important;
  left:0;
  transform:translate(-50%,-50%)!important;
  z-index:2!important;
  width:max-content!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  pointer-events:none!important;
}
@media(prefers-reduced-motion:reduce){
  .splash-loading-label{animation:none!important;letter-spacing:3px!important}
}


/* Visible sequential letter motion for the loading caption.
   Keep every glyph fully opaque; animate position, not transparency. */
.splash-loading-label{
  color:#666!important;
  opacity:1!important;
  animation:none!important;
  letter-spacing:2.6px!important;
}
.splash-loading-label .splash-letter{
  display:inline-block!important;
  color:#666!important;
  opacity:1!important;
  animation:splashLetterLift 1.05s ease-in-out infinite!important;
  will-change:transform;
}
.splash-loading-label .splash-letter:nth-child(1){animation-delay:0s!important}
.splash-loading-label .splash-letter:nth-child(2){animation-delay:.10s!important}
.splash-loading-label .splash-letter:nth-child(3){animation-delay:.20s!important}
.splash-loading-label .splash-letter:nth-child(4){animation-delay:.30s!important}
.splash-loading-label .splash-letter:nth-child(5){animation-delay:.40s!important}
.splash-loading-label .splash-letter:nth-child(6){animation-delay:.50s!important}
.splash-loading-label .splash-letter:nth-child(7){animation-delay:.60s!important}
.splash-loading-label .splash-letter:nth-child(8){animation-delay:.70s!important}
.splash-loading-label .splash-letter:nth-child(9){animation-delay:.80s!important}
.splash-loading-label .splash-dots{
  display:inline-block!important;
  color:#666!important;
  opacity:1!important;
  animation:splashDotsLift 1.05s ease-in-out infinite!important;
}
@keyframes splashLetterLift{
  0%,65%,100%{transform:translateY(0) scale(1)}
  30%{transform:translateY(-4px) scale(1.06)}
}
@keyframes splashDotsLift{
  0%,65%,100%{transform:translateY(0)}
  30%{transform:translateY(-3px)}
}


/* Final splash caption rule: continuous, visible motion without conflicting
   reduced-motion overrides from earlier legacy splash styles. */
#bootSplash .splash-loading-label{
  color:#666!important;
  opacity:1!important;
  letter-spacing:2.5px!important;
  animation:cbCaptionBreathe 2s ease-in-out infinite!important;
}
#bootSplash .splash-loading-label .splash-letter{
  display:inline-block!important;
  color:#666!important;
  opacity:1!important;
  animation:cbLetterWave 1.25s ease-in-out infinite!important;
  will-change:transform;
}
#bootSplash .splash-loading-label .splash-letter:nth-child(1){animation-delay:0s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(2){animation-delay:.10s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(3){animation-delay:.20s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(4){animation-delay:.30s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(5){animation-delay:.40s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(6){animation-delay:.50s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(7){animation-delay:.60s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(8){animation-delay:.70s!important}
#bootSplash .splash-loading-label .splash-letter:nth-child(9){animation-delay:.80s!important}
#bootSplash .splash-loading-label .splash-dots{
  display:inline-block!important;
  color:#666!important;
  opacity:1!important;
  animation:cbDotsWave 1.25s ease-in-out infinite!important;
  animation-delay:.9s!important;
}
@keyframes cbCaptionBreathe{
  0%,100%{letter-spacing:2.5px}
  50%{letter-spacing:4.5px}
}
@keyframes cbLetterWave{
  0%,100%{transform:translateY(0)}
  45%{transform:translateY(-3px)}
}
@keyframes cbDotsWave{
  0%,100%{transform:translateY(0)}
  45%{transform:translateY(-2px)}
}


/* Accueil public pour les visiteurs non connectés.
   Les six onglets restent visibles ; les pages privées demandent une connexion au clic. */
/* Les notifications restent accessibles depuis l'en-tête public.
   Seuls le portefeuille résumé et le nom du compte sont masqués avant connexion. */
.public-visitor #appView .topbar #hdrWallet,
.public-visitor #appView .topbar .user-name{display:none!important}
.public-visitor #appView .topbar #hdrNotifBtn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  flex:0 0 auto;
}
.public-visitor #appView .topbar{gap:10px}


/* Final compact splash proportions: match the restrained Izy-Store reference. */
#bootSplash .splash-content{
  width:min(100%,300px)!important;
  padding:0 12px!important;
  gap:0!important;
  transform:translateY(0)!important;
}
#bootSplash .splash-lockup{
  width:min(52vw,200px)!important;
  max-height:116px!important;
  height:auto!important;
  object-fit:contain!important;
}
#bootSplash .splash-loading-label{
  margin:12px 0 8px!important;
  font-size:9px!important;
  line-height:1.4!important;
  letter-spacing:2.5px!important;
  font-weight:400!important;
  color:#858585!important;
  animation:none!important;
}
#bootSplash .splash-loading-label .splash-letter,
#bootSplash .splash-loading-label .splash-dots{
  display:inline-block!important;
  animation:none!important;
  transform:none!important;
  scale:1!important;
  opacity:1!important;
  filter:none!important;
  -webkit-text-fill-color:#858585!important;
}
#bootSplash .splash-progress{
  width:min(100%,240px)!important;
  height:10px!important;
  border-radius:2px!important;
  background:#c9c9c9!important;
}
#bootSplash .splash-progress-value{
  font-size:11px!important;
}
@media(max-width:540px){
  #bootSplash .splash-lockup{
    width:min(52vw,200px)!important;
    max-height:116px!important;
  }
  #bootSplash .splash-progress{
    width:min(100%,240px)!important;
    height:10px!important;
  }
}


/* Definitive Izy-style loading caption animation.
   This final rule intentionally overrides the legacy static-caption declarations above. */
@keyframes cashBoostIzyLetterWave {
  0%, 100% { transform: scale(.82); color: #a6a6a6; opacity: .62; }
  45%, 60% { transform: scale(1.16); color: #202020; opacity: 1; }
}
@keyframes cashBoostIzyDotsWave {
  0%, 100% { transform: scale(.85); color: #a6a6a6; opacity: .55; }
  45%, 60% { transform: scale(1.12); color: #202020; opacity: 1; }
}
html body #bootSplash p.splash-loading-label {
  animation: none !important;
  letter-spacing: 2.5px !important;
}
html body #bootSplash p.splash-loading-label span.splash-letter {
  display: inline-block !important;
  color: #858585 !important;
  opacity: 1 !important;
  transform-origin: 50% 55% !important;
  animation: cashBoostIzyLetterWave 1.35s ease-in-out infinite !important;
  will-change: transform, color, opacity;
}
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(1) { animation-delay: 0s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(2) { animation-delay: .11s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(3) { animation-delay: .22s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(4) { animation-delay: .33s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(5) { animation-delay: .44s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(6) { animation-delay: .55s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(7) { animation-delay: .66s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(8) { animation-delay: .77s !important; }
html body #bootSplash p.splash-loading-label span.splash-letter:nth-child(9) { animation-delay: .88s !important; }
html body #bootSplash p.splash-loading-label span.splash-dots {
  display: inline-block !important;
  color: #858585 !important;
  transform-origin: 50% 55% !important;
  animation: cashBoostIzyDotsWave 1.35s ease-in-out infinite !important;
  animation-delay: .99s !important;
  will-change: transform, color, opacity;
}
