:root{--navy:#0a2647;--teal:#008a83;--orange:#f06a2f;--ink:#132238;--muted:#6b788c;--line:#dfe7ee;--mint:#edf9f6;--bg:#f8fbfc}*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:#fff}a{color:var(--navy);text-decoration:none}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.brand{font-size:18px;font-weight:800;letter-spacing:-.5px}.brand span{color:var(--navy)}.brand strong{color:var(--teal)}.brand b{color:var(--orange)}.brand em{font-style:normal;color:#555}.site-header nav{display:flex;gap:20px;font-size:14px}main{max-width:1180px;margin:auto;padding:30px 20px 70px}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;min-height:480px}.hero h1{font-size:56px;line-height:1.02;margin:0 0 18px;color:var(--navy);max-width:780px}.hero p{font-size:20px;color:var(--muted);max-width:650px}.hero-card,.panel,.search-card,.booking-card,.auth{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 10px 30px #06223b0c}.country-grid{display:grid;gap:10px}.country-grid a{padding:12px 14px;border-radius:12px;background:var(--mint);font-weight:700}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 18px;font-weight:750;cursor:pointer}.primary{background:var(--teal);color:#fff}.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.search-card{margin:5px 0 35px}.search-card form,.search-form{display:flex;gap:10px}.search-card input,.search-form input{flex:1}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.features>div{padding:24px;background:var(--mint);border-radius:16px}.features b{color:var(--navy)}input,select,textarea{width:100%;border:1px solid #cfd9e1;border-radius:10px;padding:12px;font:inherit;background:#fff}label{display:grid;gap:6px;margin:0 0 15px;font-weight:650}.auth{max-width:520px;margin:50px auto}.auth.wide{max-width:650px}.error{background:#fff0ef;color:#9a281e;border:1px solid #fac5c0;padding:10px 12px;border-radius:10px}.success{background:#ecfaf4;color:#0d6845;padding:10px 12px;border-radius:10px}.hidden{display:none!important}.results article{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.dashboard-head h1{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stats div{padding:22px;border-radius:14px;background:var(--mint)}.stats b{display:block;font-size:32px;color:var(--navy)}.stats span{color:var(--muted)}.booking-list article{display:grid;grid-template-columns:1fr 1.5fr .8fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.link-btn{background:none;color:var(--navy);padding:10px}.settings-form{max-width:600px}.muted{color:var(--muted)}.booking-shell{max-width:680px;margin:10px auto}.restaurant-banner{margin-bottom:18px}.banner-placeholder{height:130px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--teal))}.restaurant-title{padding:14px 4px}.restaurant-title h1{margin:0}.restaurant-title p{margin:4px 0;color:var(--muted)}.booking-card{margin-bottom:16px}.grid2{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{padding:15px 8px;border-radius:12px;border:1px solid #a9d7d2;background:#fff;color:var(--teal);font-weight:800}.slot:hover,.slot.selected{background:var(--teal);color:#fff}.slot.unavailable{background:#f0f2f4;color:#9ba5af;border-color:#e5e9ed;cursor:not-allowed}.summary{padding:12px;border-radius:12px;background:var(--mint);margin-bottom:18px;font-weight:700}.full{width:100%}.back{background:none;color:var(--navy);padding:0 0 10px}.notice{text-align:center;padding:40px 20px;background:var(--mint);border-radius:18px}.booking-pass{max-width:520px;margin:30px auto;text-align:center;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 14px 35px #06223b0d}.check{width:52px;height:52px;display:grid;place-items:center;margin:auto;background:var(--teal);color:#fff;border-radius:50%;font-size:30px}.booking-pass h1{color:var(--navy)}.reference{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0}.reference span{color:var(--muted)}.reference b{font-size:36px;letter-spacing:5px;color:var(--navy)}.reference button{background:var(--mint);color:var(--teal)}.qr-placeholder{width:180px;height:180px;margin:20px auto;display:grid;place-items:center;border:10px solid #111;background:repeating-linear-gradient(45deg,#111 0 6px,#fff 6px 12px);color:#fff;font-weight:900}footer{text-align:center;padding:28px;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:760px){.site-header{height:62px;padding:0 14px}.site-header nav a:first-child{display:none}.brand{font-size:15px}.hero{grid-template-columns:1fr;min-height:auto}.hero h1{font-size:40px}.hero-card{display:none}.features{grid-template-columns:1fr}.results article,.dashboard-head{display:block}.results .actions,.dashboard-head .actions{margin-top:12px}.stats{grid-template-columns:1fr 1fr}.booking-list article{grid-template-columns:1fr}.grid2{grid-template-columns:1fr 1fr}.slots{grid-template-columns:repeat(3,1fr)}main{padding:20px 14px 60px}}

.booking-qr{width:min(280px,72vw);height:auto;display:block;margin:18px auto;background:#fff;padding:10px;border-radius:18px}
.btn.danger,.danger{background:#b42318;color:#fff;border-color:#b42318}
.check.cancelled{background:#fee4e2;color:#b42318}
.booking-pass form{display:inline-block;margin:0}
