:root{--ink:#253c3b;--green:#135725;--paper:#f4f6f8;--line:#dddcd2;--muted:#677370;--white:#fff;--gold:#b5a074}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 5%;border-bottom:1px solid var(--line);background:#eaf2eb}a{color:var(--ink);text-underline-offset:4px}.brand{text-decoration:none;letter-spacing:3px;font:24px Georgia,serif}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:2px;margin-top:4px}main{max-width:1160px;margin:42px auto;padding:0 20px}.booking{max-width:800px}h1{font:clamp(40px,8vw,68px)/1.06 Georgia,serif;margin:14px 0 24px}h2{font:29px/1.2 Georgia,serif;margin:0 0 22px}h3{font:20px Georgia,serif}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green)}.intro{font-size:18px;max-width:560px;color:var(--muted)}.steps{display:flex;list-style:none;padding:0;margin:32px 0 24px;gap:12px;font-size:12px}.steps li{flex:1;padding:12px 0;border-top:2px solid var(--line);color:var(--muted)}.steps .active{border-color:var(--green);color:var(--ink);font-weight:bold}.card{background:var(--white);padding:26px;border:1px solid var(--line);border-radius:6px;margin:18px 0;box-shadow:0 5px 25px #263b3510}label{display:block;margin:14px 0;font-size:14px;font-weight:bold}input,select,textarea{display:block;width:100%;font:16px Arial,sans-serif;padding:13px;border:1px solid #bcc7bf;border-radius:4px;color:var(--ink);background:#fff;margin-top:6px}input[type=checkbox],input[type=radio]{width:auto;display:inline;margin:0 8px 0 0}button,.button{border:0;border-radius:4px;background:var(--green);color:white;padding:13px 20px;font:15px Arial,sans-serif;cursor:pointer;text-decoration:none;display:inline-block}button:hover{filter:brightness(.92)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#ebeee8;color:var(--ink)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.grid{display:grid;grid-template-columns:1fr;gap:0 22px}.choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice label{padding:18px 12px;background:var(--paper);border:1px solid var(--line);border-radius:4px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slots button{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.slots button.selected{background:var(--green);color:white}.muted{color:var(--muted);font-size:14px}.check{font-weight:normal}.product{display:grid;grid-template-columns:1fr 85px;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.product input{margin:0}.error{color:#9d3232;background:#fceaea;padding:14px;border-radius:4px}#message:empty{display:none}footer{text-align:center;padding:35px 20px;color:var(--muted);font-size:13px}nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}nav button.selected{background:var(--ink)}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar input{width:auto}.stats{display:flex;gap:20px;margin:20px 0}.stat{flex:1;background:#e5eae2;padding:16px;border-radius:5px}.stat strong{font:32px Georgia,serif;display:block}.reservation{border-left:4px solid var(--green)}.reservation.cancelled,.reservation.no_show{opacity:.6;border-left-color:#ae6961}.reservation-head{display:flex;justify-content:space-between;gap:12px}.badge{font-size:12px;padding:4px 8px;background:var(--paper);border-radius:3px}.table-checks{display:flex;gap:12px;flex-wrap:wrap}.table-checks label{font-weight:normal}.reservation .actions{flex-wrap:wrap;justify-content:flex-start;margin-top:12px}.guest-row{border-bottom:1px solid var(--line);padding:15px 0}details{margin:18px 0}summary{cursor:pointer;font-weight:bold}.inline-form{padding:16px;background:var(--paper)}pre{white-space:pre-wrap}#login{max-width:480px;margin:auto}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}.card{padding:34px}.steps{font-size:14px}}@media print{header,footer,nav,.no-print,button{display:none!important}body{background:#fff;color:#000}main{margin:0;padding:0;max-width:80mm}.card{border:0;box-shadow:none;padding:0}h1{font-size:24px}}

.brand img{display:block;width:auto;height:88px;max-width:170px}.brand small{letter-spacing:1px}@media(max-width:420px){.brand img{width:auto;height:64px}header{padding:18px 20px}header>a:last-child{font-size:13px}}

.settings-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin:0 0 8px;border-bottom:1px solid var(--line)}
.settings-tabs button{flex:0 0 auto;white-space:nowrap;background:#eaf2eb;color:var(--green);border:1px solid #c8d9cc;min-height:44px}
.settings-tabs button[aria-selected="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gastly-table{width:100%!important;min-width:560px;font-size:14px}
.gastly-table th,.gastly-table td{text-align:left;vertical-align:top}
.dt-layout-table .dt-layout-cell{max-width:100%;overflow-x:auto}
.dt-container{margin:20px 0}
.dt-container .dt-search input,.dt-container .dt-length select{display:inline-block;width:auto;max-width:100%;padding:9px;margin:0 0 0 8px;font-size:14px}
.dt-container .dt-length label,.dt-container .dt-search label{display:inline;margin:0;font-weight:normal}
.dt-container .dt-paging button.dt-paging-button{color:var(--ink)!important;border-radius:4px;min-height:44px}
.dt-container .dt-paging button.dt-paging-button.current,.dt-container .dt-paging button.dt-paging-button:hover{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
.datatable-details{margin:0;min-width:180px}.datatable-details summary{font-size:14px;color:var(--green)}
.datatable-details .card{margin:12px 0;padding:0;border:0;box-shadow:none;background:transparent}
.datatable-details .reservation-head h2{font-size:20px}.datatable-details .inline-form{margin-top:14px}
.gastly-table .guest-row{border:0;padding:0;min-width:240px}.gastly-table td>p{margin:0}
@media(max-width:640px){.dt-container .dt-layout-row:not(.dt-layout-table){display:flex;flex-wrap:wrap;gap:12px}.dt-container .dt-layout-cell{width:100%;text-align:left!important}.dt-container .dt-search input{max-width:220px}.dt-container .dt-paging{display:flex;flex-wrap:wrap}.card .dt-container{margin-left:-10px;margin-right:-10px}}
.product-description{display:block;white-space:pre-line;font-size:14px;font-weight:normal;color:var(--muted);margin-top:6px}
#order-total{font-weight:bold;font-size:20px}#order-link{margin:12px 0}
