:root{--navy:#0e1f3d;--deep:#081226;--red:#c4202e;--gold:#d69a34;--ivory:#faf9f6;--slate:#5b6472}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--navy);background:var(--ivory)}a{text-decoration:none;color:inherit}.p-container{width:min(1180px,calc(100% - 36px));margin:auto}.p-nav{height:76px;display:flex;align-items:center;justify-content:space-between}.p-brand{font-weight:950;letter-spacing:.04em}.p-brand span{color:var(--red)}.p-nav-actions{display:flex;gap:10px}.p-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:13px;border:1px solid transparent;font-weight:850;cursor:pointer}.p-btn-primary{background:var(--red);color:white;box-shadow:0 12px 28px rgba(196,32,46,.2)}.p-btn-ghost{background:white;border-color:#e8dfd2}.p-hero{padding:70px 0 60px;background:radial-gradient(circle at 82% 10%,rgba(214,154,52,.2),transparent 35%),linear-gradient(145deg,#fff,#f6f2ea)}.p-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}.p-kicker{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:900;color:#a96d00}.p-hero h1{font-size:clamp(42px,6vw,72px);line-height:.98;margin:14px 0 20px;letter-spacing:-.045em}.p-hero p{font-size:19px;line-height:1.65;color:var(--slate);max-width:700px}.p-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.p-demo{background:var(--deep);border-radius:28px;padding:24px;color:white;box-shadow:0 30px 80px rgba(8,18,38,.25)}.p-demo-top{display:flex;justify-content:space-between;align-items:center;color:#bdc8d9;font-size:12px}.p-demo-card{background:white;color:var(--navy);border-radius:18px;padding:20px;margin-top:18px}.p-demo-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.p-demo-kpis div{background:#f6f7f9;padding:12px;border-radius:12px}.p-section{padding:72px 0}.p-title{text-align:center;max-width:760px;margin:0 auto 38px}.p-title h2{font-size:38px;margin:0 0 12px}.p-title p{color:var(--slate);line-height:1.6}.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.p-feature,.p-plan{background:white;border:1px solid #e8dfd2;border-radius:20px;padding:22px}.p-feature b{font-size:18px}.p-feature p,.p-plan p{color:var(--slate);line-height:1.5}.p-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.p-plan strong{font-size:27px}.p-plan ul{padding-left:18px;color:var(--slate);line-height:1.8}.p-plan.featured{border:2px solid var(--red);transform:translateY(-8px)}.p-footer{background:var(--deep);color:#cbd4e1;padding:32px 0}.wizard{min-height:100vh;background:linear-gradient(145deg,#f7f4ed,#eef3fa);padding:30px 0}.wizard-shell{width:min(900px,calc(100% - 30px));margin:auto;background:#fff;border:1px solid #e8dfd2;border-radius:26px;overflow:hidden;box-shadow:0 28px 80px rgba(7,20,45,.12)}.wizard-head{padding:28px 32px;background:var(--deep);color:white}.wizard-body{padding:30px}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:26px}.wizard-step{padding:10px;border-radius:10px;background:#f2f4f7;font-size:12px;font-weight:800}.wizard-step.active{background:#fdecef;color:var(--red)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800}.field input,.field select{min-height:49px;border:1px solid #d8dce3;border-radius:12px;padding:11px 13px;font:inherit}.templates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.template{border:1px solid #dfe4ea;border-radius:14px;padding:14px}.alert{padding:13px 15px;border-radius:12px;background:#fff0f1;color:#aa1724;margin-bottom:18px}.success{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff7e0,#eef3fa);padding:20px}.success-card{width:min(760px,100%);background:#fff;border-radius:28px;padding:42px;text-align:center;box-shadow:0 30px 90px rgba(7,20,45,.15)}.success-icon{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:#e7f8ef;color:#078246;font-size:44px;margin:auto}.store-page{min-height:100vh;background:#faf9f6}.store-hero{padding:52px 0;background:linear-gradient(145deg,var(--deep),#17335d);color:white}.store-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.store-logo{width:60px;height:60px;border-radius:16px;background:white;color:var(--navy);display:grid;place-items:center;font-size:24px;font-weight:950}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:38px 0}.product{background:white;border:1px solid #e8dfd2;border-radius:18px;overflow:hidden}.product-media{aspect-ratio:16/10;background:#e9edf3;display:grid;place-items:center;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover}.product-body{padding:18px}.product-price{font-size:22px;font-weight:950;color:var(--red)}@media(max-width:900px){.p-hero-grid,.p-grid,.p-plans,.products{grid-template-columns:1fr 1fr}.p-plans .p-plan.featured{transform:none}}@media(max-width:650px){.p-nav{height:auto;padding:16px 0}.p-nav-actions .p-btn-ghost{display:none}.p-hero{padding-top:38px}.p-hero-grid,.p-grid,.p-plans,.products,.form-grid,.templates{grid-template-columns:1fr}.p-hero h1{font-size:44px}.p-demo-kpis{grid-template-columns:1fr}.wizard-body,.wizard-head,.success-card{padding:24px 18px}.wizard-steps{grid-template-columns:1fr 1fr}.store-head{align-items:flex-start}.p-container{width:min(100% - 24px,1180px)}}

/* RAHIMAF DIGITAL V4.0.3 — Portail vivant et abonnement unique */
html{scroll-behavior:smooth}.p-hero{position:relative;overflow:hidden}.p-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.55}.p-orb-one{width:240px;height:240px;right:7%;top:-90px;background:radial-gradient(circle,rgba(214,154,52,.34),transparent 68%);animation:pOrb 8s ease-in-out infinite}.p-orb-two{width:190px;height:190px;left:-70px;bottom:-70px;background:radial-gradient(circle,rgba(196,32,46,.16),transparent 70%);animation:pOrb 10s ease-in-out infinite reverse}.p-float{animation:pFloat 5.5s ease-in-out infinite}.p-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#30d789;margin-right:5px;box-shadow:0 0 0 0 rgba(48,215,137,.6);animation:pLive 1.8s infinite}.p-pulse{position:relative;overflow:hidden}.p-pulse:after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 50%,transparent 75%);animation:pShine 4s ease-in-out infinite}.p-feature{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.p-feature:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(8,18,38,.10);border-color:rgba(196,32,46,.34)}.p-feature-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff0f1;color:var(--red);font-weight:950;font-size:12px;margin-bottom:14px}.p-pricing-section{background:linear-gradient(145deg,#f3efe8,#fff8ed)}.p-single-plan{width:min(520px,100%);margin:auto}.p-single-plan .p-plan{padding:30px;border:2px solid var(--red);transform:none;box-shadow:0 25px 65px rgba(8,18,38,.12)}.p-plan-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff0f1;color:var(--red);font-size:11px;font-weight:950;letter-spacing:.08em;margin-bottom:15px}.p-single-plan .p-plan h3{font-size:29px;margin:8px 0 12px}.p-single-plan .p-plan strong{display:block;font-size:36px;margin-bottom:10px}.p-single-plan .p-plan strong em{font-size:16px;font-style:normal;color:var(--slate);font-weight:700}.p-single-plan .p-btn{width:100%}.p-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s ease var(--reveal-delay,0ms)}.p-reveal.is-visible{opacity:1;transform:none}@keyframes pFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes pOrb{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(15px,18px,0) scale(1.08)}}@keyframes pLive{0%{box-shadow:0 0 0 0 rgba(48,215,137,.55)}70%{box-shadow:0 0 0 9px rgba(48,215,137,0)}100%{box-shadow:0 0 0 0 rgba(48,215,137,0)}}@keyframes pShine{0%,62%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.p-float,.p-orb,.p-live-dot,.p-pulse:after{animation:none!important}.p-reveal{opacity:1;transform:none;transition:none}}


/* V4.0.4 — Téléphone international + mot de passe visible */
.phone-control{display:grid;grid-template-columns:minmax(128px,42%) minmax(0,1fr);gap:9px;align-items:stretch}.country-picker{position:relative;min-width:0;height:44px;border:1px solid #d8dce4;border-radius:11px;background:#fff;overflow:hidden}.country-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.country-picker-display{height:100%;display:flex;align-items:center;gap:7px;padding:0 11px;color:#0e1f3d;pointer-events:none;white-space:nowrap}#selectedFlag{font-size:20px;line-height:1}#selectedDial{font-size:14px}.country-chevron{margin-left:auto;color:#707887;font-size:15px}.phone-control:focus-within .country-picker{border-color:#0e1f3d;box-shadow:0 0 0 3px rgba(14,31,61,.08)}.phone-control input{width:100%;min-width:0}.field-help{display:block;margin-top:7px;color:#6d7582;line-height:1.4}.password-control{position:relative}.password-control input{width:100%;padding-right:48px!important}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:36px;border:0;border-radius:9px;background:transparent;display:grid;place-items:center;color:#596273;cursor:pointer;transition:background .2s ease,color .2s ease}.password-toggle:hover,.password-toggle:focus-visible{background:#f2f4f8;color:#0e1f3d;outline:none}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-closed{display:block}@media(max-width:560px){.phone-control{grid-template-columns:132px minmax(0,1fr)}.country-picker-display{padding:0 9px;gap:5px}}

/* V4.0.6 — Subscription Activation Engine */
.subscription-card{width:min(680px,100%)}.subscription-summary{margin:24px 0;background:#faf9f6;border:1px solid #e9e1d5;border-radius:17px;padding:18px;display:grid;gap:12px}.subscription-summary div{display:flex;justify-content:space-between;gap:18px;padding-bottom:11px;border-bottom:1px dashed #ded5c8}.subscription-summary div:last-child{border-bottom:0;padding-bottom:0}.subscription-summary span{color:#68717f}.subscription-summary b{text-align:right;color:#0e1f3d}.subscription-summary .pending{color:#b97800}.subscription-pay{width:100%;min-height:56px}.subscription-safe{font-size:13px;color:#68717f;margin-top:14px}.subscription-config{margin:18px 0;padding:18px;border-radius:15px;background:#fff7df;border:1px solid #f1d78c;color:#6f5000;text-align:left}.subscription-config p{margin:7px 0 0}.download-secondary{display:inline-flex;margin-top:14px;color:#0e1f3d;font-weight:800;text-decoration:none}@media(max-width:600px){.subscription-summary div{display:grid;gap:4px}.subscription-summary b{text-align:left}}

/* RAHIMAF DIGITAL V4.0 — Super Admin Subscription Manager */
.p-footer-line{display:flex;align-items:center;justify-content:space-between;gap:24px}.p-admin-link{display:inline-flex;align-items:center;padding:7px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:rgba(255,255,255,.68);font-size:12px;font-weight:750;text-decoration:none;transition:.2s}.p-admin-link:hover{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.32)}
.admin-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#fff8e8,#f3f5f9 60%)}.admin-auth-card{width:min(440px,100%);background:#fff;border:1px solid #e9dfd2;border-radius:24px;padding:34px;box-shadow:0 28px 80px rgba(8,18,38,.14)}.admin-kicker{margin-top:28px;color:#b97800;font-size:11px;font-weight:950;letter-spacing:.13em}.admin-auth-card h1{color:#0e1f3d;font-size:30px;margin:8px 0}.admin-auth-card p{color:#667080}.admin-form{display:grid;gap:15px;margin-top:24px}.admin-form label,.admin-fields label{display:grid;gap:7px;color:#0e1f3d;font-size:13px;font-weight:850}.admin-form input,.admin-fields input,.admin-fields textarea,.admin-fields select{width:100%;border:1px solid #d7dce5;border-radius:11px;padding:13px 14px;background:#fff;color:#0e1f3d;font:inherit}.admin-back{display:block;text-align:center;margin-top:18px;color:#657084;text-decoration:none;font-weight:700}
.admin-shell{min-height:100vh;background:#f7f5f1;display:grid;grid-template-columns:245px minmax(0,1fr)}.admin-side{position:sticky;top:0;height:100vh;background:#081226;padding:26px 20px;display:flex;flex-direction:column}.admin-brand{color:#fff}.admin-side-label{margin:36px 0 10px;color:#d69a34;font-size:10px;font-weight:950;letter-spacing:.15em}.admin-side nav{display:grid;gap:7px}.admin-side nav a,.admin-logout{padding:12px 14px;border-radius:10px;color:#d7deeb;text-decoration:none;font-weight:750}.admin-side nav a.active,.admin-side nav a:hover{background:#17243d;color:#fff}.admin-logout{margin-top:auto;border:1px solid rgba(255,255,255,.12);text-align:center}.admin-main{padding:30px}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.admin-top h1{font-size:32px;color:#0e1f3d;margin:5px 0}.admin-top p{color:#68717f;margin:0}.admin-user{padding:10px 14px;background:#fff;border:1px solid #e6ddd1;border-radius:999px;font-weight:800;color:#0e1f3d}.admin-message{padding:14px 16px;border-radius:12px;margin-bottom:16px;font-weight:750}.admin-message.success{background:#e8f8ef;color:#087a46}.admin-message.error{background:#fff0f1;color:#a51928}.admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px}.admin-panel,.admin-preview,.admin-history{background:#fff;border:1px solid #e7ded2;border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(8,18,38,.05)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.panel-head span,.preview-label{color:#b97800;font-size:10px;font-weight:950;letter-spacing:.13em}.panel-head h2{color:#0e1f3d;margin:5px 0 0}.admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-fields .full{grid-column:1/-1}.admin-fields textarea{resize:vertical}.admin-save{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding-top:18px;border-top:1px solid #eee5da}.admin-save p{color:#667080;margin:0}.switch{display:flex!important;grid-template-columns:auto auto auto!important;align-items:center;gap:8px!important;cursor:pointer}.switch input{position:absolute;opacity:0}.switch i{width:42px;height:24px;border-radius:999px;background:#cdd3dc;position:relative}.switch i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+i{background:#14985b}.switch input:checked+i:after{transform:translateX(18px)}.admin-preview .p-plan{margin-top:16px;box-shadow:none}.admin-history{margin-top:18px}.history-table{display:grid}.history-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.4fr 1.2fr;gap:14px;padding:13px 10px;border-top:1px solid #eee7dd;align-items:center;color:#596477;font-size:13px}.history-head{border:0;background:#f8f6f2;border-radius:10px;color:#0e1f3d}.empty-history{text-align:center;color:#7a8390;padding:20px}.alert{background:#fff0f1;color:#a51928;padding:12px 14px;border-radius:10px;margin:14px 0}
@media(max-width:1000px){.admin-grid{grid-template-columns:1fr}.admin-preview{display:none}}@media(max-width:760px){.p-footer-line{align-items:flex-start;flex-direction:column}.admin-shell{grid-template-columns:1fr}.admin-side{position:static;height:auto}.admin-side nav{grid-template-columns:1fr 1fr}.admin-logout{margin-top:18px}.admin-main{padding:18px}.admin-top{align-items:flex-start;flex-direction:column}.admin-fields{grid-template-columns:1fr}.history-row{grid-template-columns:1fr 1fr}.history-head{display:none}.admin-save{align-items:stretch;flex-direction:column}}
