:root{--emerald:#103e32;--cream:#f8f4e9;--gold:#b69251;--blue:#213d80;--ink:#213d34}
html{scroll-padding-top:100px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b69251;outline-offset:4px}.honey{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.check{display:flex!important;gap:12px;align-items:flex-start!important;font-size:13px!important;line-height:1.7;margin:20px 0}.check input{width:18px!important;min-width:18px;height:18px;margin:4px 0!important;accent-color:var(--emerald)}.check a{ text-decoration:underline}.availability-note{font-size:12px;background:#f2f0e7;color:var(--emerald);padding:12px 15px;margin:0;line-height:1.6}.form-status:empty{display:none}.form-status{padding:16px;border-left:3px solid var(--gold);background:#f3f5ed;line-height:1.7;font-size:14px;white-space:pre-line;color:var(--emerald)}.form-status.error{border-color:#a13737;background:#fff0ec;color:#7a2828}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;background:#ebe7dc}.contact>div>p{max-width:420px;line-height:1.8}.contact form{background:#fffdf7;padding:40px;border:1px solid #dcd5c4}.contact a{overflow-wrap:anywhere}.privacy{padding-top:55px!important;padding-bottom:55px!important;border-top:1px solid #ddd6c3}.privacy p{max-width:1000px;font-size:13px;line-height:1.9}.hours-list{max-width:400px;margin:25px 0}.hours-row{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #d8d1bf;padding:10px 0;font-size:14px}.hours-row strong{font-weight:500}.demo-banner{position:sticky;top:0;z-index:100;background:#213d80;color:white;padding:12px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:13px/1.5 Arial,sans-serif}.demo-banner button{border:1px solid #c8af74;color:white;background:transparent;padding:8px 15px}.demo-banner span{max-width:900px}.admin-body{margin:0;background:#f3f0e7;color:var(--ink);font-family:Arial,sans-serif}.admin-shell{max-width:1320px;margin:0 auto;padding:40px 5vw 80px}.admin-bar{background:var(--emerald);color:var(--cream);padding:25px 5vw;display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-bar a{color:inherit;text-decoration:none}.admin-bar .brand{font-family:Georgia,serif;letter-spacing:3px;font-size:25px}.admin-bar small{display:block;font:10px Arial,sans-serif;letter-spacing:2px;margin-top:7px}.admin-bar button{color:white;border:1px solid #bda569;background:transparent;padding:10px 18px}.admin-shell h1{font:48px/1.1 Georgia,serif;letter-spacing:-1.5px;margin:12px 0 20px}.admin-shell h2{font:30px Georgia,serif;margin:0 0 20px}.admin-shell h3{font:24px Georgia,serif}.admin-subtitle{color:#61716a;line-height:1.7;font-size:14px}.admin-eyebrow{font:11px Arial,sans-serif;letter-spacing:2px;color:#8d6b31}.login-card{max-width:460px;margin:65px auto;padding:40px;background:#fffdf7;border:1px solid #ddd4bd;box-shadow:0 15px 50px #103e3208}.admin-shell label{display:block;font-size:12px;font-weight:600;line-height:1.6;margin-bottom:18px}.admin-shell input,.admin-shell select,.admin-shell textarea{width:100%;padding:12px;border:1px solid #d6d3c7;background:white;color:var(--ink);border-radius:0;box-sizing:border-box}.admin-shell input[type=checkbox]{width:auto;accent-color:var(--emerald)}.admin-button{background:var(--emerald);color:white;padding:13px 20px;border:1px solid var(--emerald);font-size:12px}.admin-button.secondary{background:transparent;color:var(--emerald);border-color:#ccc4af}.admin-button.danger{background:#fff6f1;color:#932d2d;border-color:#d8b8af}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.admin-stat{border-top:2px solid var(--gold);background:#fffdf7;padding:25px}.admin-stat strong{display:block;font:36px Georgia,serif;margin-bottom:8px}.admin-stat span{font-size:12px;color:#65756b}.admin-tabs{display:flex;gap:25px;border-bottom:1px solid #d8d0bd;margin:20px 0 30px}.admin-tabs button{border:0;background:none;padding:16px 0;font-size:14px;color:#667369;border-bottom:3px solid transparent}.admin-tabs button[aria-selected=true]{color:var(--emerald);border-color:var(--emerald);font-weight:bold}.admin-toolbar{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.admin-toolbar input{max-width:300px}.admin-toolbar select{max-width:180px}.booking-list{display:grid;gap:14px}.booking-card{background:#fffdf7;border:1px solid #ded7c6;padding:25px}.booking-card header{display:flex;justify-content:space-between;gap:20px;padding:0!important;background:none!important;position:static!important;border:0!important}.booking-card h3{margin:8px 0}.booking-card .meta{font:13px/1.8 Arial,sans-serif;color:#5c6d63}.booking-card p{line-height:1.7;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.booking-card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.badge{display:inline-block;padding:6px 10px;font-size:10px;letter-spacing:.6px;text-transform:uppercase;background:#f0e6cf;color:#78602e;height:max-content}.badge.approved{background:#e3eee5;color:#1a5739}.badge.declined{background:#f4e3de;color:#873a2b}.email-state{font-size:12px;color:#7c622f}.admin-empty{text-align:center;background:#fffdf7;padding:70px 25px;border:1px dashed #cfc5af}.settings-panel{background:#fffdf7;padding:30px;max-width:850px}.settings-day{display:grid;grid-template-columns:150px 1fr 1fr 85px;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #e6e0d3}.settings-day label{margin:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.settings-grid .wide{grid-column:1/-1}.admin-note{font:12px/1.8 Arial,sans-serif;color:#667369}.admin-message{margin:20px 0}.admin-message:empty{display:none}.admin-modal{border:1px solid #b69c65;max-width:460px;padding:30px;background:#fffdf7;color:var(--ink)}.admin-modal::backdrop{background:#062d26b3}.admin-modal h2{font:30px Georgia,serif}.admin-modal p{font:14px/1.8 Arial,sans-serif}.admin-modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}[hidden]{display:none!important}.site-footer{flex-wrap:wrap}
@media(max-width:800px){.contact{grid-template-columns:1fr;gap:30px}.contact form{padding:25px}.admin-shell{padding:30px 20px}.admin-shell h1{font-size:36px}.admin-stats{gap:10px}.admin-stat{padding:16px}.admin-stat strong{font-size:28px}.settings-day{grid-template-columns:1fr 1fr;gap:10px}.settings-day>strong{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}.settings-panel{padding:20px}.booking-card{padding:20px}.admin-bar{padding:20px}.demo-banner{position:static;align-items:flex-start}.demo-banner span{font-size:11px}.demo-banner button{min-width:100px}.login-card{padding:25px;margin:30px auto}.admin-toolbar input,.admin-toolbar select{max-width:none}.contact>div>p{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.booking-card header{height:auto!important;align-items:flex-start!important}.admin-bar .brand{display:block;line-height:1.2}.admin-shell form{border-top:2px solid var(--gold)}.admin-body .admin-modal{width:min(460px,calc(100% - 30px))}.admin-body{max-width:none}.admin-shell .admin-message{scroll-margin-top:20px}.admin-shell .actions button{touch-action:manipulation}

.hero-actions{flex-wrap:wrap}.admin-shell{overflow-wrap:anywhere}.form-top{flex-wrap:wrap}@media(max-width:960px){header:not(.booking-card header){height:86px}.menu-toggle{display:block;border:1px solid #b4b49b;background:none;padding:9px 12px;color:var(--emerald)}nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--cream);padding:25px 6%;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr}.admin-stat{display:flex;align-items:center;gap:15px}.admin-stat strong{margin:0}.booking-card header{flex-wrap:wrap}.admin-bar{flex-wrap:wrap}.hero-copy h1{font-size:50px}}

.otp-input{font-size:28px!important;letter-spacing:.5em;text-align:center;font-family:monospace!important}.otp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.otp-actions button{font-size:11px}.login-card .admin-button[type=submit]{width:100%}.login-card .admin-note{margin-top:16px}
