/* MyLuckyMeal — refonte graphique TEST 2026-11-02. Surcharge visuelle uniquement. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--perle:#111318!important;--surface:#20232b!important;--surface2:#282c35!important;--ink:#f8f5f9!important;--muted:#bcb8c6!important;--line:#3b3b48!important;--line2:#474352!important;--fuchsia:#ff43b9!important;--accent:#ff76d0!important;--clair:#40243c!important;--anthra:#111318!important;--display:'Outfit',sans-serif!important;--sans:'DM Sans',sans-serif!important;color-scheme:dark!important}
html,body{background:#111318!important;color:#f8f5f9!important;font-family:'DM Sans',sans-serif!important}
body{background-image:radial-gradient(ellipse at 95% 0%,rgba(255,67,185,.12),transparent 43%)!important;background-attachment:fixed!important}
h1,h2,h3,.titre,.marque b,header b{font-family:'Outfit',sans-serif!important;letter-spacing:-.035em!important}
h1{font-size:clamp(2.3rem,6vw,4rem)!important;line-height:1.07!important;font-weight:900!important}
h1 em{font-style:normal!important;color:#ff68c9!important}
a{color:#ff90d9}
button,input,select,textarea{font-family:'DM Sans',sans-serif!important}
button{border-radius:14px!important;font-weight:800!important;transition:transform .18s,background .18s,box-shadow .18s!important}
button:not(:disabled):active{transform:scale(.98)}
input,select,textarea{background:#292b34!important;color:#fff!important;border:1px solid #57505f!important;border-radius:13px!important}
input::placeholder,textarea::placeholder{color:#b8b0bd!important}
:focus-visible{outline:3px solid #ff8bd7!important;outline-offset:3px!important}
/* Commande client */
body:has(.modeseg) header.top{background:linear-gradient(130deg,#181920 12%,#39203a 70%,#201821 100%)!important;border-bottom:1px solid #66314f!important;border-radius:0 0 32px 32px!important;padding:22px 18px 34px!important;box-shadow:0 22px 65px #0006!important}
body:has(.modeseg) header.top .topbar{padding-bottom:16px!important}
body:has(.modeseg) header.top img{border-radius:20px!important;box-shadow:0 8px 28px #0006!important}
body:has(.modeseg) header.top .marque b{font-size:1.35rem!important;color:#fff!important}
body:has(.modeseg) header.top .lead{color:#eee0ec!important;font-size:1rem!important}
body:has(.modeseg) .wrap{max-width:900px!important}
body:has(.modeseg) section.step,body:has(.modeseg) section.recap{background:#20232b!important;border:1px solid #41404c!important;border-radius:25px!important;padding:clamp(16px,3vw,28px)!important;box-shadow:0 15px 35px #0003!important;margin-block:16px!important}
body:has(.modeseg) .step h2{font-size:1.45rem!important;color:#fff!important}
body:has(.modeseg) .step h2 .n{background:#ff43b9!important;color:#15121a!important;border-radius:12px!important}
body:has(.modeseg) .seg.modeseg{background:#16171e!important;border:1px solid #49404c!important;border-radius:21px!important;padding:6px!important;gap:8px!important}
body:has(.modeseg) .seg.modeseg button{background:#2a2b35!important;color:#f9f5f8!important;border:1px solid #494452!important;border-radius:16px!important;min-height:88px!important}
body:has(.modeseg) .seg.modeseg button[aria-pressed=true],body:has(.modeseg) .seg.modeseg button.active{background:linear-gradient(135deg,#ff43b9,#f36ac9)!important;color:#1b1220!important;border-color:#ff83d1!important;box-shadow:0 8px 25px #ff43b944!important}
body:has(.modeseg) .dish{background:#292c35!important;border:1px solid #4a4551!important;border-radius:19px!important;padding:16px!important;box-shadow:0 7px 22px #0002!important}
body:has(.modeseg) .dish h3{color:#fff!important;font-family:'Outfit',sans-serif!important;font-size:1.15rem!important}
body:has(.modeseg) .dish .desc{color:#c7c0cb!important}
body:has(.modeseg) .tab{background:#292c35!important;color:#eee!important;border:1px solid #504755!important;border-radius:16px!important}
body:has(.modeseg) .tab[aria-pressed=true]{background:#ff43b9!important;color:#17131c!important;border-color:#ff43b9!important}
body:has(.modeseg) .cat,body:has(.modeseg) .topcarte,body:has(.modeseg) .dayttl{color:#ff9cdd!important}
body:has(.modeseg) .stepper button.plus,body:has(.modeseg) button.primary,body:has(.modeseg) button[type=submit]{background:#ff43b9!important;color:#1c1320!important;border-color:#ff43b9!important;box-shadow:0 5px 18px #ff43b944!important}
body:has(.modeseg) .rule2{background:#3a293b!important;color:#fce8f6!important}
body:has(.modeseg) footer{background:#181920!important;color:#d8cbd5!important;border-top:1px solid #403640!important}
/* Gérant : interface sombre et cartes contrastées */
body:has(#vueApp) .app{max-width:1040px!important}
body:has(#vueApp) header.top{background:linear-gradient(105deg,#191a22,#3a1e36)!important;border-bottom:1px solid #744265!important;padding:17px 20px!important;box-shadow:0 8px 26px #0005!important}
body:has(#vueApp) header.top .t b{font-size:1.55rem!important;color:#fff!important}
body:has(#vueApp) main{background:transparent!important;padding:22px clamp(12px,3vw,28px) 120px!important}
body:has(#vueApp) .card{background:#242731!important;color:#fff!important;border:1px solid #494352!important;border-radius:22px!important;box-shadow:0 12px 26px #0003!important;padding:18px!important}
body:has(#vueApp) .card.neuve{border-left:5px solid #ff43b9!important}
body:has(#vueApp) .b:not(.ligne2):not(.contour):not(.danger){background:#ff43b9!important;color:#1c1320!important;border-color:#ff43b9!important}
body:has(#vueApp) nav.bas{background:#1c1d26!important;border-top:1px solid #534050!important;box-shadow:0 -10px 32px #0007!important}
body:has(#vueApp) nav.bas button{color:#c9c2d0!important}
body:has(#vueApp) nav.bas button[aria-current=page]{color:#ff75cf!important;background:#40233d!important}
body:has(#vueApp) .chip,body:has(#vueApp) .onglet{background:#2b2c37!important;color:#eee!important;border-color:#504657!important}
body:has(#vueApp) .chip[aria-pressed=true],body:has(#vueApp) .onglet[aria-pressed=true]{background:#ff43b9!important;color:#1c1320!important}
/* Cuisine / livreur : écrans opérationnels haute lisibilité */
body:has(#vCuisine) header,body:has(#vConnexion):not(:has(#vueApp)) header{background:linear-gradient(100deg,#191b22,#392139)!important;border-bottom:2px solid #ff43b9!important;padding:17px 20px!important}
body:has(#vCuisine) main,body:has(#vConnexion):not(:has(#vueApp)) main{padding:22px!important}
body:has(#vCuisine) .bon,body:has(#vCuisine) .carte,body:has(#vConnexion):not(:has(#vueApp)) .carte{background:#262933!important;border:1px solid #56505e!important;border-radius:22px!important;box-shadow:0 12px 30px #0005!important;padding:18px!important}
body:has(#vCuisine) .colonne>h2{background:#322637!important;color:#ffb4e8!important;border:1px solid #6a4063!important;border-radius:17px!important}
body:has(#vCuisine) button:not(:disabled),body:has(#vConnexion):not(:has(#vueApp)) button:not(:disabled){min-height:46px!important}
/* All pages: maintain semantic statuses and accessibility */
.err,.error,[role=alert]{color:#ffb1b1!important}
.ok,.success{color:#a1efc3!important}
[hidden]{display:none!important}
@media(max-width:600px){body:has(.modeseg) header.top{padding:16px 13px 27px!important}body:has(.modeseg) section.step,body:has(.modeseg) section.recap{margin:12px 9px!important;padding:16px!important;border-radius:20px!important}body:has(#vueApp) main{padding:12px 10px 110px!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
