/* Sign-in and registration forms */
/* Sign-in pages: one centred, wider panel */
body.auth-page .account-shell{width:min(100%,680px);margin-inline:auto}
body.auth-page .account-panel{width:100%;text-align:center}
body.auth-page .account-panel .account-brand{margin-inline:auto;margin-bottom:clamp(36px,6vw,56px);align-items:center}
body.auth-page .account-panel .account-copy{max-width:46ch;margin-inline:auto}
body.auth-page .account-panel .google-button{margin-inline:auto}
.auth-form{text-align:left}
.account-links{justify-content:center}
.auth-divider{display:flex;align-items:center;gap:14px;margin:26px 0 22px;color:var(--stone);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-form{display:grid;gap:18px}
.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.auth-field{display:grid;gap:7px;min-width:0}
.auth-field label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);font-weight:400}
.auth-field label span{color:var(--stone);text-transform:none;letter-spacing:.02em}
.auth-field input{width:100%;padding:13px 14px;border:1px solid rgba(246,241,231,.18);border-radius:0;background:rgba(246,241,231,.04);color:var(--ivory);font:inherit;font-size:1rem;transition:border-color .2s,background .2s}
.auth-field input:focus{outline:none;border-color:var(--gold);background:rgba(246,241,231,.07)}
.auth-field input[aria-invalid="true"]{border-color:#ffb4aa}
.auth-field input:disabled{opacity:.6}
.auth-error{margin:0;color:#ffc0b6;font-size:.85rem}
.auth-hint{margin:0;color:var(--stone);font-size:.85rem}
.auth-check{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--stone);cursor:pointer}
.auth-check input{accent-color:var(--gold);width:16px;height:16px}
.auth-submit{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);font:inherit;font-size:.74rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,color .3s}
.auth-submit:hover,.auth-submit:focus-visible{background:transparent;color:var(--gold-light)}
.auth-switch{margin:24px 0 0;color:var(--stone);font-size:.92rem}
.auth-switch a{color:var(--gold-light);text-underline-offset:.2em}
@media (max-width:560px){.auth-row{grid-template-columns:1fr}}

/* Account dashboard */
body.account-dashboard{display:block;padding:0;background:var(--ink)}
.dash-wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.dash-main{padding:56px 0 90px}
.dash-hero h1{margin:6px 0 4px;font-family:var(--display);font-weight:300;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05}
.dash-hero h1 em{color:var(--gold-light)}
.dash-hero .account-copy{margin:0 0 28px}
.dash-verify{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.dash-verify form{margin:0}
.dash-verify button{background:none;border:1px solid currentColor;padding:8px 16px;color:inherit;font:inherit;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.dash-tabs{display:flex;gap:4px;overflow-x:auto;margin:28px 0 26px;border-bottom:1px solid var(--line)}
.dash-tabs a{display:flex;align-items:center;gap:8px;padding:14px 18px;color:var(--stone);text-decoration:none;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.dash-tabs a:hover{color:var(--ivory)}
.dash-tabs a.on{color:var(--ivory);border-color:var(--gold)}
.dash-tabs a span{font-size:.66rem;letter-spacing:.06em;padding:2px 7px;border:1px solid var(--line);color:var(--gold-light)}
.dash-tabs a span.due{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.dash-stats div{padding:22px;border:1px solid var(--line);background:var(--ink-soft)}
.dash-stats span{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.dash-stats strong{display:block;margin-top:8px;font-family:var(--display);font-weight:400;font-size:1.9rem;line-height:1.1;color:var(--ivory)}
.dash-card{padding:26px;border:1px solid var(--line);background:var(--ink-soft);margin-bottom:22px}
.dash-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.dash-card-head h2{margin:0;font-family:var(--display);font-weight:400;font-size:1.6rem}
.dash-card-head a{color:var(--gold-light);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-underline-offset:.2em}
.dash-empty{padding:26px 0 6px;color:var(--stone)}
.dash-empty p{margin:0 0 16px}
.dash-inline-button{display:inline-flex}
.dash-muted{color:var(--stone);font-size:.88rem}
.dash-booking{display:grid;grid-template-columns:72px 1fr auto;gap:22px;align-items:center;padding:18px 0;border-top:1px solid rgba(246,241,231,.08)}
.dash-booking:first-of-type{border-top:0}
.dash-booking-dates{display:grid;justify-items:center;padding:10px 0;border:1px solid var(--line);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}
.dash-booking-dates strong{font-family:var(--display);font-weight:400;font-size:1.9rem;line-height:1;color:var(--ivory)}
.dash-booking-body h3{margin:0 0 4px;font-family:var(--display);font-weight:400;font-size:1.35rem}
.dash-booking-body p{margin:0}
.dash-booking-side{display:grid;justify-items:end;gap:6px;text-align:right}
.dash-booking-side a{color:var(--gold-light);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:.2em}
.pill{display:inline-block;padding:3px 10px;border:1px solid var(--line);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light)}
.pill.ok{border-color:rgba(160,210,140,.45);color:#cdeab9}
.pill.warn{border-color:rgba(226,200,143,.6);color:var(--gold-light);background:rgba(201,164,92,.12)}
.pill.muted{color:var(--stone);border-color:rgba(246,241,231,.18)}
.dash-table{display:grid}
.dash-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr .9fr;gap:16px;align-items:center;padding:14px 0;border-top:1px solid rgba(246,241,231,.08)}
.dash-row-invoice{grid-template-columns:1.1fr 1.5fr .9fr .9fr .8fr auto}
.dash-row-head{border-top:0;padding-top:0;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.dash-row .num{text-align:right}
.dash-actions{display:flex;gap:10px;justify-content:flex-end}
.dash-actions a{padding:7px 12px;border:1px solid var(--line);color:var(--ivory);text-decoration:none;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.dash-actions a:hover{border-color:var(--gold)}
.dash-actions .dash-pay{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.dash-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dash-split .dash-card{margin:0}
@media (max-width:860px){
  .dash-stats{grid-template-columns:1fr 1fr}
  .dash-split{grid-template-columns:1fr}
  .dash-row,.dash-row-invoice{grid-template-columns:1fr 1fr;gap:6px 16px}
  .dash-row-head{display:none}
  .dash-row [data-label]::before{content:attr(data-label);display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}
  .dash-row .num{text-align:left}
  .dash-actions{grid-column:1/-1;justify-content:flex-start}
  .dash-booking{grid-template-columns:60px 1fr}
  .dash-booking-side{grid-column:1/-1;justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;align-items:center;gap:14px}
}
.auth-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.auth-inline a{color:var(--gold-light);font-size:.88rem;text-underline-offset:.2em}
.auth-switch-tight{margin-top:8px}
body.auth-page .account-panel .google-button{display:flex;width:100%;justify-content:center}
body.account-dashboard{padding-bottom:90px}

/* Pages under the fixed site header */
body.auth-page{padding-top:110px}
body.account-dashboard .dash-main{padding-top:130px}
body.account-dashboard,body.auth-page{--ink-soft:#151511;--gold-light:#e2c88f;--display:"Cormorant Garamond",Georgia,serif;--body:"Jost",system-ui,sans-serif}
html[data-theme="light"] body.account-dashboard{--ink-soft:#fff;--gold-light:var(--gold-2);--stone:#6c6455;background:var(--ink)}
html[data-theme="light"] body.account-dashboard .dash-booking,html[data-theme="light"] body.account-dashboard .dash-row{border-top-color:rgba(28,26,22,.1)}
html[data-theme="light"] body.account-dashboard .pill.ok{color:#2f6b1e;border-color:rgba(47,107,30,.4)}
html[data-theme="light"] body.account-dashboard .auth-field input{background:#fff;border-color:rgba(28,26,22,.2);color:var(--ivory)}
html[data-theme="light"] body.account-dashboard .auth-submit{color:#fff}
html[data-theme="light"] body.account-dashboard .dash-actions .dash-pay{color:#fff}
body.auth-page .account-panel .account-brand{display:flex;width:max-content}
/* The sign-in panel sits on a dark photo in both themes, so it keeps the dark palette. */
html[data-theme="light"] body.auth-page .account-panel{--ink:#0b0b0a;--ivory:#f6f1e7;--stone:#aaa292;--gold:#c9a45c;--gold-2:#e2c88f;--gold-light:#e2c88f;--line:rgba(201,164,92,.3);color:var(--ivory)}
html[data-theme="light"] body.auth-page .account-panel .auth-submit{color:#0b0b0a}
