:root{--paper:#f7f2eb;--cream:#f1e9df;--sand:#e4d5c4;--clay:#c6ad96;--olive:#3f4534;--olive-deep:#292f24;--wine:#713237;--ink:#2c2723;--muted:#756a60;--line:#d8c9b8;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Jost","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--wine);outline-offset:3px}a{color:inherit}.admin-shell{width:min(100% - 2rem,1120px);margin:0 auto;padding:1.5rem 0 4rem}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 1rem;border-bottom:1px solid var(--line)}.admin-brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1;color:var(--ink)}.admin-brand__name{font:500 2rem/.9 var(--serif);letter-spacing:.42em;padding-left:.42em}.admin-brand__subtitle{margin-top:.45rem;color:var(--muted);font-size:.55rem;letter-spacing:.39em;padding-left:.39em}.back-link{font-size:.85rem;color:var(--olive);text-underline-offset:3px}.admin-intro{max-width:690px;padding:3.2rem 0 1.8rem}.eyebrow{margin:0 0 .55rem;color:var(--wine);font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.admin-intro h1,.admin-panel h2,.edit-form h2{margin:0;font:500 clamp(2rem,5vw,3.4rem)/1.05 var(--serif);letter-spacing:-.02em}.admin-intro>p:last-child{max-width:58ch;margin:.7rem 0 0;color:var(--muted)}.admin-panel{padding:clamp(1.2rem,3vw,2.2rem);border:1px solid var(--line);background:rgba(255,255,255,.74);box-shadow:0 20px 45px rgba(47,39,29,.06)}.admin-panel[hidden]{display:none}.admin-panel h2{font-size:clamp(1.7rem,4vw,2.25rem)}.admin-panel>p:not(.status-message){max-width:70ch;color:var(--muted);font-size:.9rem}.login-form{display:grid;gap:.5rem;max-width:450px;margin:1.25rem 0}.login-form label,.filters label{color:var(--olive-deep);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.login-form input,.filters input,.filters select,.edit-form input,.edit-form select{width:100%;min-height:46px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:2px;background:#fffdf9;color:var(--ink)}.login-form input[readonly]{background:#f4eee6}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:1px solid var(--olive);border-radius:999px;background:var(--olive);color:var(--paper);font-size:.79rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.button:hover:not(:disabled){background:var(--olive-deep);border-color:var(--olive-deep);transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button--quiet{background:transparent;color:var(--olive)}.button--quiet:hover:not(:disabled){background:var(--olive);color:var(--paper)}.security-note{padding:.85rem 1rem;border-left:3px solid var(--wine);background:var(--cream);color:var(--muted)!important;font-size:.78rem!important;line-height:1.5}.security-note strong{color:var(--olive-deep)}.status-message{min-height:1.2em;margin:.5rem 0;color:var(--wine);font-size:.84rem;line-height:1.45}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,.6fr) auto;align-items:end;gap:.65rem;margin:1.4rem 0 .6rem}.filters label:first-of-type{grid-column:1}.filters label:nth-of-type(2){grid-column:2}.filters input{grid-column:1;grid-row:2}.filters select{grid-column:2;grid-row:2}.filters button{grid-column:3;grid-row:2}.booking-list{display:grid;gap:.85rem}.booking-card{padding:1.15rem;border:1px solid var(--line);background:#fffdf9}.booking-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.booking-card__title{margin:0;font:500 1.5rem/1.15 var(--serif)}.booking-card__meta{margin:.3rem 0 0;color:var(--muted);font-size:.82rem}.booking-card__status{display:inline-flex;align-items:center;min-height:27px;padding:.28rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--olive-deep);font-size:.66rem;font-weight:600;line-height:1.2;text-align:center}.booking-card__status[data-status="payment_review"]{border-color:#b98049;background:#fbf0dd;color:#754117}.booking-card__status[data-status="confirmed"]{border-color:#7d8b6d;background:#edf2e8;color:#33422b}.booking-card__status[data-status="cancelled"],.booking-card__status[data-status="expired"]{background:#f3ece5;color:#6c6056}.booking-card__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem;margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--line);font-size:.8rem}.booking-card__info p{min-width:0;margin:0;overflow-wrap:anywhere}.booking-card__info strong{color:var(--olive-deep)}.booking-card__buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.booking-card__buttons .button{min-height:38px;font-size:.7rem}.booking-card__buttons .button--danger{border-color:var(--wine);background:var(--wine)}.booking-card__buttons .button--danger:hover:not(:disabled){background:#55262a}.booking-card__empty{padding:2rem 1rem;border:1px dashed var(--clay);color:var(--muted);text-align:center}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0 0}.pagination span{min-width:90px;color:var(--muted);font-size:.8rem;text-align:center}.edit-dialog{width:min(820px,calc(100% - 1.5rem));max-height:min(92vh,950px);padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 25px 80px rgba(35,29,22,.25)}.edit-dialog::backdrop{background:rgba(30,31,25,.56);backdrop-filter:blur(2px)}.edit-form{padding:clamp(1.1rem,3vw,2rem);overflow:auto}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.edit-form h2{font-size:2rem}.close-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--olive);font-size:1.5rem;line-height:1}.dialog-caption{color:var(--muted);font-size:.8rem;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-grid label{display:grid;gap:.3rem;color:var(--olive-deep);font-size:.68rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.form-grid input,.form-grid select{font-size:.87rem;letter-spacing:0;text-transform:none}.form-grid .slot-field{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;padding-top:.8rem;border-top:1px solid var(--line)}
@media(max-width:680px){.admin-shell{width:min(100% - 1.1rem,1120px);padding-top:.8rem}.admin-intro{padding:2rem 0 1.2rem}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filters label:first-of-type,.filters input{grid-column:1/-1}.filters label:nth-of-type(2){grid-column:1/-1}.filters select{grid-column:1/-1;grid-row:auto}.filters button{grid-column:1/-1;grid-row:auto}.booking-card__top{display:block}.booking-card__status{margin-top:.6rem}.booking-card__info{grid-template-columns:minmax(0,1fr)}.booking-card__buttons .button{flex:1 1 130px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .slot-field{grid-column:auto}.dashboard-heading{align-items:flex-start}.dashboard-heading .button{flex:none}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.password-settings{margin:1.4rem 0;padding:1rem 1.15rem;border:1px solid var(--line);background:linear-gradient(135deg,rgba(241,233,223,.68),rgba(255,253,249,.92))}.password-settings>summary{color:var(--olive-deep);font:500 1.2rem/1.3 var(--serif);cursor:pointer;text-underline-offset:4px}.password-settings>summary:hover{text-decoration:underline}.password-settings>p{max-width:60ch;margin:.6rem 0;color:var(--muted);font-size:.84rem}.password-settings .login-form{margin:1rem 0 .2rem}.password-settings .button{justify-self:start;min-width:190px}
