*{box-sizing:border-box}
body{margin:0;background:#f5f1e7;color:#18352b;font-family:Montserrat,Arial,sans-serif}
.top{min-height:72px;background:#123b2e;color:#fff;display:flex;align-items:center;gap:28px;padding:14px 5%;position:sticky;top:0;z-index:5}
.brand{font-family:Georgia,serif;font-size:25px;letter-spacing:1px}
.brand span{color:#d5b76a}
.top nav{display:flex;gap:18px;flex:1}
.top a{color:#fff;text-decoration:none;font-size:14px}
.linkbtn{background:none;border:0;color:#fff;cursor:pointer}
.wrap{max-width:1180px;margin:auto;padding:34px 20px}

.hero{
position:relative;
overflow:hidden;
background:#123b2e;
color:#fff;
border-radius:22px;
padding:42px;
margin-bottom:22px;
isolation:isolate
}
.hero::before{
content:"";
position:absolute;
inset:-18px;
background:
linear-gradient(90deg,rgba(18,59,46,.55),rgba(18,59,46,.30)),
url("/assets/espace-divine-bg.jpg") center/cover no-repeat;
filter:blur(3px);
transform:scale(1.04);
z-index:-2
}
.hero::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(135deg,rgba(18,59,46,.55) 0%,rgba(18,59,46,.25) 48%,rgba(18,59,46,.42) 100%);
z-index:-1
}
.hero h1,.hero p,.hero .eyebrow,.hero .cta{position:relative;z-index:1}
.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:#a98b42}
.hero h1{font-family:Georgia,serif;font-size:42px;margin:8px 0}
.hero p{max-width:650px;line-height:1.7}
.cta,button{background:#d5b76a;border:0;color:#18352b;padding:13px 18px;border-radius:10px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.stats>div,.card{background:#fff;border:1px solid #e4dccb;border-radius:18px;padding:24px;box-shadow:0 8px 30px #18352b0b}
.stats small{display:block;color:#777}
.stats strong{display:block;font-size:28px;margin-top:10px}
.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #eee}
.row small{display:block;color:#777;margin-top:4px}
.row a{margin-left:12px;color:#8a6b2e}
.gridform{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.gridform label,.card label{display:flex;flex-direction:column;gap:7px;font-size:13px}
.gridform button{grid-column:1/-1}
.gridform input,.gridform select,.card input,.card select,.login input{padding:13px;border:1px solid #d8d0bf;border-radius:9px;background:#fff}
.pos{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.dish{background:#f8f4ea;border:1px solid #e0d7c5;text-align:left;min-height:92px}
.dish b,.dish span{display:block}
.dish span{margin-top:10px;color:#8a6b2e}
.cartrow{display:flex;justify-content:space-between;padding:10px 0}
.total,.grand{display:flex;justify-content:space-between;border-top:2px solid #d5b76a;padding-top:18px;margin-top:20px;font-size:22px}
.invoice{background:#fff;max-width:760px;margin:40px auto;padding:42px;border-radius:4px;box-shadow:0 8px 30px #0001}
.invoice-head{display:flex;justify-content:space-between;align-items:start}
.print{background:#123b2e;color:#fff}
.thanks{text-align:center;margin-top:40px}

.login{
min-height:100vh;
display:grid;
place-items:center;
position:relative;
overflow:hidden;
background:#123b2e
}
.login::before{
content:"";
position:absolute;
inset:-20px;
background:
linear-gradient(
135deg,
rgba(18,59,46,.38) 0%,
rgba(18,59,46,.22) 50%,
rgba(18,59,46,.32) 100%
),
url("/assets/espace-divine-bg.jpg") center/cover no-repeat;
filter:blur(3px);
transform:scale(1.04)
}
.login-card{
position:relative;
z-index:1;
background:rgba(255,255,255,.97);
padding:40px;
border-radius:20px;
width:min(430px,92%);
box-shadow:0 20px 60px rgba(0,0,0,.25)
}
.login-card form{display:grid;gap:16px}
.login-card label{display:grid;gap:7px}
.login-card button{width:100%}

.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px}
.ok{background:#e3f1e9}
.error{background:#f7e3df}

@media(max-width:800px){
.top{flex-wrap:wrap}
.top nav{order:3;overflow:auto;width:100%}
.stats,.pos{grid-template-columns:1fr}
.menu-grid{grid-template-columns:repeat(2,1fr)}
.gridform{grid-template-columns:1fr}
.hero h1{font-size:32px}
}

@media print{
.no-print,.top,nav{display:none!important}
body{background:#fff}
.invoice{box-shadow:none;margin:0;max-width:none}
.invoice-head{margin-bottom:20px}
}