:root{--ink:#12171F;--muted:#59626E;--paper:#FFFFFF;--line:#E2E6E4;--accent:#1F4E79;--accent-2:#2E6DA4;--accent-soft:#E3ECF5;--hero:#EEF3F8;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--white:#fff;--radius:18px;font-family:var(--body);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.6;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a.btn{cursor:pointer}button,.btn{border:0;background:var(--accent);color:white;padding:12px 19px;border-radius:10px;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.4}button:hover,.btn:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#F4F6F5;color:var(--ink);border:1px solid var(--line)}.quiet{background:transparent;color:var(--accent);padding:8px}.danger{background:#F6E3DC;color:#B0452C}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #E2E6E4;border-radius:9px;background:white;color:var(--ink);min-width:0}input[type=checkbox]{width:auto}label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5.4vw,76px);line-height:1.06;letter-spacing:-.055em;font-weight:650}h2{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-.035em;font-weight:650}h3{font-size:18px;line-height:1.3;letter-spacing:-.015em}p{color:var(--muted)}small,.muted{color:var(--muted)}.container{max-width:1180px;margin:auto;padding:0 28px}.brand{font-weight:750;text-decoration:none;font-size:18px;letter-spacing:-.6px;display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--accent);color:#FFFFFF;border-radius:9px;font-size:21px}.brand small{display:block;font-size:10px;line-height:1;letter-spacing:1.7px;font-weight:600;text-transform:uppercase}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar nav{display:flex;align-items:center;gap:28px;font-size:13px}.topbar nav>a{text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--accent);display:flex;gap:9px;align-items:center;margin-bottom:24px}.dot{width:7px;height:7px;background:#1F4E79;border-radius:50%;display:inline-block}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:74px;align-items:center;padding:74px 0 100px}.hero p{font-size:17px;max-width:450px;line-height:1.8}.hero h1 em{font-family:var(--display);font-style:normal;font-weight:700;color:var(--accent)}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.hero-meta{font-size:11px;color:var(--muted);display:flex;gap:20px}.showcase{position:relative;background:#E3ECF5;border:1px solid #E2E6E4;border-radius:26px;padding:30px 24px;min-height:460px;display:flex;align-items:center;justify-content:center;overflow:hidden}.showcase:before{content:'';position:absolute;width:360px;height:360px;border:1px solid #1F4E7920;border-radius:50%;left:100px;top:100px}.phone{width:245px;background:#FFFFFF;border:7px solid #12171F;border-radius:32px;padding:28px 17px 20px;box-shadow:0 25px 40px #12171F20;position:relative;transform:rotate(-5deg)}.phone:before{content:'';position:absolute;top:10px;left:90px;width:50px;height:5px;border-radius:6px;background:#12171F}.phone .mini-label{font-size:8px;letter-spacing:1.6px;color:#59626E}.phone h3{font-family:var(--display);font-size:28px;font-weight:400;margin:7px 0}.phone .food{height:95px;border-radius:10px;background:radial-gradient(ellipse at 55% 45%,#bbb751 0 10%,transparent 11%),radial-gradient(ellipse at 45% 55%,#718346 0 22%,#e5d4a3 23% 32%,#f4f0de 33% 48%,#cccfb3 49% 50%,#a3b793 51% 100%);margin:16px 0}.mini-row{padding:12px 0;border-bottom:1px solid #E2E6E4;font-size:11px;display:flex;justify-content:space-between;gap:12px}.mini-row small{font-size:9px}.phone .mini-button{background:var(--accent);color:white;border-radius:8px;text-align:center;font-size:10px;padding:10px;margin-top:17px}.float-note{position:absolute;right:12px;bottom:60px;box-shadow:0 10px 35px #12171F12;background:white;border:1px solid var(--line);padding:17px;border-radius:12px;font-size:11px;transform:rotate(3deg)}.float-note strong{display:block;font-size:13px}.check{color:var(--accent);background:var(--accent-soft);padding:3px 7px;border-radius:50%;margin-right:6px}.strip{display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:15px;font-size:12px;color:#59626E}.section{padding:85px 0}.section-head{max-width:600px;margin-bottom:35px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.card p{font-size:13px;margin-bottom:0}.num{font-size:12px;color:var(--accent);background:#E3ECF5;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;margin-bottom:28px}.cta-block{background:var(--accent);border-radius:24px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:30px;color:white;margin:10px 0 60px}.cta-block h2{max-width:500px;margin-bottom:12px}.cta-block p{color:#E3ECF5;margin:0}.cta-block .btn{background:#FFFFFF;color:var(--accent);white-space:nowrap}footer{border-top:1px solid var(--line);font-size:12px;padding:25px 0;color:var(--muted)}footer .container{display:flex;justify-content:space-between;gap:15px}.auth-wrap{max-width:480px;margin:50px auto 90px;padding:0 22px}.auth-wrap h1{font-size:35px}.auth-card{background:white;border:1px solid var(--line);padding:30px;border-radius:20px}.auth-card button[type=submit]{width:100%;margin-top:22px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.tabs button{font-size:13px;padding:10px 16px;background:transparent;color:var(--muted)}.tabs button.active{background:var(--accent);color:white}.notice{padding:12px 16px;background:#E3ECF5;border:1px solid #E2E6E4;border-radius:10px;font-size:13px;margin:12px 0}.error{background:#F6E3DC;color:#B0452C;border-color:#F6E3DC}.hidden,[hidden]{display:none!important}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;z-index:100;padding:14px 22px;border-radius:12px;max-width:90vw;box-shadow:0 8px 30px #0003}.app-layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{padding:30px 23px;border-right:1px solid var(--line);background:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:26px}.sidebar .brand{font-size:16px}.sidebar select{font-size:12px}.side-nav{display:grid;gap:6px}.side-nav button{text-align:left;justify-content:flex-start;background:transparent;color:#59626E;font-size:13px}.side-nav button.active{background:#E3ECF5;color:var(--accent)}.sidebar-bottom{margin-top:auto;font-size:12px}.main{padding:35px 42px;min-width:0;max-width:1500px;width:100%;margin:auto}.app-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.app-header h1{font-size:30px;letter-spacing:-1px;margin-bottom:3px}.app-header p{font-size:12px;margin-bottom:0}.tag{background:#E3ECF5;border-radius:6px;padding:3px 7px;font-size:10px;color:var(--accent);display:inline-block}.tag.pending{background:#FBEED7;color:#B86E00}.tag.ready,.tag.served,.tag.done{background:#E1F1E8}.tag.cancelled{background:#F6E3DC;color:#B0452C}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.stat strong{font-size:27px;display:block;letter-spacing:-1px}.stat span{font-size:12px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stack{display:grid;gap:15px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-row{padding:17px 0;border-bottom:1px solid var(--line)}.product-row:last-child{border:0}.product-row strong{font-size:14px}.product-row small{display:block;font-size:11px}.product-row button{font-size:11px;padding:7px 10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}.order-card h3{margin-bottom:10px}.order-card .actions{margin-bottom:0}.order-card .actions button{font-size:12px;padding:9px 12px}.order-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.qr{width:145px;height:145px}.empty{text-align:center;padding:40px 20px;color:var(--muted);border:1px dashed #E2E6E4;border-radius:15px;font-size:14px}.menu-wrap{max-width:760px;margin:auto;padding:25px 22px 150px}.menu-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:35px}.menu-wrap h1{font-family:var(--display);font-size:45px;letter-spacing:-2px;font-weight:400}.menu-wrap h2{font-size:21px;margin:35px 0 12px}.menu-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}.menu-item h3{font-size:16px;margin:0 0 5px}.menu-item p{font-size:13px;margin-bottom:5px;max-width:430px}.menu-item small{font-size:10px}.menu-item .price{font-weight:700;white-space:nowrap;font-size:14px}.menu-item button{padding:5px 12px;margin-top:10px}.cart-bar{position:fixed;bottom:0;left:0;right:0;padding:15px 22px;background:#FFFFFFed;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20}.cart-bar>div{max-width:716px;margin:auto}.cart-box{background:white;padding:22px;border-radius:15px;border:1px solid var(--line);margin:25px 0}.cart-box .row{margin-bottom:10px}.cart-box button{padding:5px 10px}.status-list{font-size:12px;display:flex;flex-wrap:wrap;gap:8px}.demo-start{max-width:700px;margin:70px auto;padding:0 25px;text-align:center}.demo-start h1{font-size:48px}.demo-start .card{margin:30px 0;text-align:left}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.print-table{background:white;border:1px dashed #E2E6E4;padding:32px;text-align:center;break-inside:avoid}.print-table img{width:220px;height:220px}.print-table h2{font-size:24px}.legal{max-width:800px;margin:60px auto;padding:0 25px}.legal h1{font-size:40px}.legal h2{font-size:23px;margin-top:35px}:focus-visible{outline:3px solid #2E6DA4;outline-offset:4px}dialog{border:1px solid var(--line);border-radius:18px;max-width:600px;width:94%;max-height:90vh;padding:26px;color:var(--ink)}dialog::backdrop{background:#12171F80}.sync{font-size:10px;color:var(--muted)}.mobile-brand{display:none}@media(max-width:900px){.hero{gap:30px}.float-note{right:0}.app-layout{grid-template-columns:190px 1fr}.sidebar{padding:25px 15px}.main{padding:25px}.split{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:14px}.grid3{gap:12px}}@media(max-width:680px){.container{padding:0 22px}.topbar{height:78px}.topbar nav{gap:12px}.topbar nav .nav-extra{display:none}.topbar .brand{font-size:15px}.topbar nav>a{font-size:12px}.hero{grid-template-columns:1fr;padding:45px 0 40px;gap:35px}.hero h1{font-size:53px}.hero p{font-size:16px}.hero-meta{font-size:10px;gap:13px}.showcase{min-height:400px}.strip{flex-wrap:wrap;font-size:11px}.grid3{grid-template-columns:1fr}.section{padding:55px 0}.cta-block{padding:30px;display:block}.cta-block .btn{margin-top:20px}.app-layout{display:block}.sidebar{height:auto;position:relative;padding:18px;border:0;border-bottom:1px solid var(--line);gap:15px}.sidebar .brand{display:none}.side-nav{display:flex;overflow-x:auto;gap:5px}.side-nav button{white-space:nowrap;font-size:12px;padding:9px 12px}.sidebar-bottom{display:flex;justify-content:space-between;align-items:center}.sidebar-bottom .muted{display:none}.sidebar select{max-width:100%}.main{padding:25px 18px}.app-header{align-items:flex-start;gap:10px}.app-header h1{font-size:27px}.app-header .btn{font-size:11px;padding:9px 11px}.stats{gap:8px}.stat strong{font-size:23px}.stat span{font-size:10px}.card{padding:20px}.form-grid{grid-template-columns:1fr}.table-grid{grid-template-columns:1fr 1fr;gap:10px}.table-grid .card{padding:14px}.qr{width:120px;height:120px}.brand small{font-size:8px}.print-grid{grid-template-columns:1fr}.auth-wrap{margin-top:25px}.auth-card{padding:23px}.demo-start{margin-top:40px}.demo-start h1{font-size:40px}footer .container{flex-wrap:wrap}.menu-wrap h1{font-size:39px}.menu-top{margin-bottom:26px}}@media print{body{background:white}.no-print{display:none!important}.print-grid{grid-template-columns:repeat(2,1fr)}.print-table{padding:25px}.container{padding:0}.print-table img{width:180px;height:180px}a{text-decoration:none}}
.menu-item button{white-space:nowrap}.menu-item>div:last-child{flex-shrink:0}@media(max-width:680px){.product-row{flex-wrap:wrap}.product-row>div:first-child{min-width:100%}.product-row>div:last-child{width:100%}.app-header .btn{white-space:nowrap}}

/* Palette et typographies du design original de Nicolas. */
h1,h2,h3,.brand{font-family:var(--display)}
.brand-mark img{width:32px;height:32px;display:block}
.hero{position:relative;isolation:isolate;padding-block:68px 76px;gap:64px}
.hero::before{content:"";position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--hero);z-index:-1}
body{overflow-x:clip}
.hero h1{font-size:clamp(42px,4.8vw,64px);font-weight:750;line-height:1.08;letter-spacing:-.04em}
.hero h1 em{display:block;margin-top:7px}
.hero p{color:#4E5B69;font-size:17px;max-width:490px}
.hero .eyebrow{margin-bottom:25px}
.pill{display:inline-flex;align-items:center;gap:9px;padding:6px 11px 6px 6px;border:1px solid var(--line);border-radius:999px;background:#FFFFFF;font-size:11px;color:var(--muted);margin-bottom:24px}
.pill b{font-weight:650;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 8px}
.showcase{background:transparent;border:0;border-radius:24px;min-height:470px;padding:30px 20px}
.showcase::before{width:370px;height:370px;left:50%;top:50%;transform:translate(-50%,-50%);border-color:#1F4E7920;box-shadow:0 0 0 32px #1F4E7905,0 0 0 64px #1F4E7903}
.phone{transform:rotate(-4deg);width:254px;padding:22px 12px 16px;border-width:7px;border-radius:34px;box-shadow:0 24px 50px #12171F25}
.phone::before{left:calc(50% - 25px);top:8px}
.phone-cover{background:radial-gradient(120% 80% at 85% 0%,#E2B86640,transparent 60%),linear-gradient(160deg,#5A2A1C,#2B140E 70%);color:#FFFFFF;border-radius:15px 15px 4px 4px;padding:17px 12px 15px}
.phone-cover .mini-label{color:#FFFFFFCC;font-size:8px}
.phone-cover h3{font-family:var(--display);font-size:20px;font-weight:700;margin:17px 0 5px;letter-spacing:-.6px}
.phone-cover small{font-size:9px;color:#FFFFFFCC}
.phone-tabs{display:flex;gap:13px;font-size:9px;align-items:center;padding:12px 3px 3px;color:var(--muted)}
.phone-tabs b{background:var(--accent-soft);color:var(--accent);padding:4px 9px;border-radius:6px;font-weight:600}
.phone .food{height:76px;margin:12px 0 2px}
.float-note{right:0;bottom:62px;transform:rotate(2deg);padding:14px 17px}
.float-note small{font-size:10px}
.check{color:#2F7D55;background:#E1F1E8}
.service-note{position:absolute;top:55px;left:0;background:white;padding:11px 14px;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #12171F0D;transform:rotate(-3deg);font-size:11px}
.service-note strong{display:block;color:var(--accent);font-weight:650}
.service-note small{font-size:10px}
.strip{color:var(--muted);background:#FFFFFF}
.card{box-shadow:0 2px 3px #12171F03}
.app-layout{background:#F4F6F5}
.menu-wrap h1{font-family:var(--display);font-weight:650;letter-spacing:-.04em}
.tag.ready,.tag.served,.tag.done{color:#2F7D55}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:680px){.hero{padding-block:35px 40px;gap:26px}.hero h1{font-size:43px;letter-spacing:-.04em}.hero p{font-size:16px}.hero .pill{font-size:10px;margin-bottom:21px}.showcase{min-height:450px;padding-block:26px}.service-note{top:22px;left:0}.float-note{bottom:35px;right:0}.phone{width:245px}.hero .actions .btn{font-size:13px;padding:13px 15px}.hero-meta{font-size:10px}.menu-wrap h1{font-size:37px}}
@media(max-width:680px){.topbar{gap:12px}.topbar .brand{font-size:14px;white-space:nowrap;flex-shrink:0;gap:8px}.topbar .brand small{letter-spacing:1.1px;font-size:8px}.topbar nav{gap:10px}.topbar nav>a{white-space:nowrap;font-size:11px}.topbar nav .btn{padding:10px 12px}.phone-cover h3{font-size:18px;line-height:1.15}}
@media(max-width:360px){.topbar nav>a:not(.btn){display:none}}
/* Le contenu de chaque vue démarre en haut, quelle que soit sa hauteur. */
.main{margin:0 auto;align-self:start}
.legal-identity{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:12px 24px;border-block:1px solid var(--line);padding:24px 0;margin:24px 0}.legal-identity dt{font-weight:600}.legal-identity dd{margin:0;color:var(--muted)}@media(max-width:560px){.legal-identity{grid-template-columns:1fr;gap:4px}.legal-identity dd{margin-bottom:12px}}
