/* Account and request tools belong to the local application, preserving the studio palette. */
[hidden] { display: none !important; }
.local-environment { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:5px 14px; padding:10px 20px; background:#e5efe8; color:#214d43; border-bottom:1px solid var(--line); font-size:12px; line-height:1.6; }
.local-environment strong { font-weight:600; }
.local-environment span { color:#476456; }
.account-toolbar { padding:0 36px 12px; border-bottom:1px solid var(--line); }
.account-controls { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:7px 20px; font-size:12px; min-height:32px; }
.account-controls>a,.account-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; color:var(--deep); text-underline-offset:4px; font:inherit; }
.account-link { padding:0; border:0; background:transparent; text-decoration:underline; cursor:pointer; }
.account-email { color:var(--muted); overflow-wrap:anywhere; max-width:100%; }
.account-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:22px 0; }
.account-heading>p { font-size:12px; line-height:1.8; color:var(--muted); overflow-wrap:anywhere; }
.account-heading strong { font-weight:500; color:var(--ink); }
.request-list,.admin-request-list { display:grid; gap:22px; }
.request-card-heading,.admin-request>header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:12px; }
.request-card-heading h2,.admin-request h2 { font-size:32px; line-height:1.1; margin:8px 0 12px; font-weight:500; }
.request-card-heading .eyebrow,.admin-request>header .eyebrow { font-size:10px; letter-spacing:1.2px; }
.request-status { display:inline-flex; align-items:center; background:var(--soft); color:var(--deep); border-radius:8px; padding:8px 10px; font-size:11px; line-height:1.5; }
.request-status[data-status=confirmed] { background:#e3efe6; color:#275b36; }
.request-status[data-status=cancelled] { background:#f3e8e3; color:#765248; }
.request-status[data-status=completed] { background:#eeece4; color:#5e6054; }
.feedback-error,.feedback-success { padding:13px 15px; font-size:13px; line-height:1.8; margin:16px 0; border-radius:9px; overflow-wrap:anywhere; }
.feedback-error { background:#faeeea; color:#913e36 !important; border-left:3px solid #b86451; }
.feedback-success { background:#e6f0e8; color:#315d3e !important; border-left:3px solid #6c9273; }
.auth-panel { max-width:570px; margin-top:25px; border:1px solid var(--line); padding:26px; border-radius:18px; background:var(--paper); }
.auth-panel h2 { font-size:34px; line-height:1.1; font-weight:500; margin-bottom:14px; }
.auth-panel p { font-size:13px; color:var(--muted); line-height:1.85; margin:14px 0; overflow-wrap:anywhere; }
.auth-panel .form-field { margin-top:20px; }
.auth-panel .action-row { flex-wrap:wrap; }
#login-code { font-size:24px; letter-spacing:.25em; font-variant-numeric:tabular-nums; }
.local-mail-note { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.local-mail-note>strong { color:var(--deep); font-size:13px; font-weight:500; }
.local-mail-note .secondary { margin-top:6px; }
.admin-request { min-width:0; padding:25px; background:var(--paper); border:1px solid var(--line); border-radius:18px; }
.admin-customer,.admin-preference { color:var(--muted); font-size:13px; line-height:1.85; overflow-wrap:anywhere; margin:12px 0; }
.admin-customer strong { color:var(--ink); font-weight:500; }
.admin-request-form { margin-top:22px; }
.admin-request-form fieldset { padding:0; border:0; margin:0; min-width:0; }
.admin-request-form legend { color:var(--deep); font-size:13px; font-weight:500; margin-bottom:15px; }
.admin-request-form .primary { margin-top:21px; }
.admin-request-form fieldset>p { font-size:13px; line-height:1.8; color:var(--muted); margin-top:20px; }
button:disabled { cursor:wait; opacity:.65; }
fieldset:disabled input,fieldset:disabled select { opacity:.7; }
.privacy-panel { max-width:720px; margin-top:25px; }
.privacy-panel>section+section { margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.privacy-panel h2 { font-size:29px; margin-bottom:12px; }
.privacy-panel p { color:var(--muted); font-size:13px; line-height:1.85; margin:12px 0; }
.privacy-panel .primary { margin-top:10px; }
.footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px; }
.booking-policies { padding:18px; margin:22px 0; background:var(--soft); border-radius:12px; }
.booking-policies h3 { font-family:'DM Sans','Segoe UI',sans-serif; font-size:14px; line-height:1.6; font-weight:500; margin:0 0 12px; }
.booking-policies ul { padding-left:18px; margin:0; }
.booking-policies li,.booking-policies p,.policy-reference p { color:var(--ink); font-size:12px; line-height:1.85; margin:9px 0; }
.booking-policies strong { font-weight:500; }
.booking-policies a,.policy-reference a { display:inline-flex; align-items:center; min-height:44px; color:var(--deep); font-size:12px; text-underline-offset:4px; }
.policy-reference { margin:23px 0; padding:15px 18px; background:var(--soft); border-radius:12px; }
.policy-reference p { margin:0; }
.policies-panel .booking-policies { margin-top:0; }
@media(max-width:650px) {
  .local-environment { padding:10px 18px; justify-content:flex-start; font-size:11px; gap:3px; }
  .local-environment>span { width:100%; }
  .account-toolbar { padding:0 18px 10px; }
  .account-controls { font-size:12px; gap:4px 16px; }
  .account-controls .account-email { flex-basis:100%; text-align:right; font-size:11px; }
  .auth-panel,.admin-request { padding:22px 19px; }
  .auth-panel h2,.admin-request h2,.request-card-heading h2 { font-size:31px; }
  .auth-panel .action-row>* { width:100%; flex-basis:100%; }
  .account-heading .secondary { width:100%; }
  .request-card-heading,.admin-request>header { display:block; }
  .request-status { margin-bottom:10px; font-size:12px; }
  .admin-request-form .primary { width:100%; }
  .feedback-error,.feedback-success { font-size:12px; }
}
