.modern-input{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.modern-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d9eee3}textarea.modern-input{min-height:90px;resize:vertical}.primary-button,.secondary-button{border:0;border-radius:10px;padding:.9rem 1.1rem;cursor:pointer;font-weight:700}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.secondary-button{background:var(--sage);color:var(--ink)}.service-card,.admin-list>article{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);background:#fff}.service-card{cursor:pointer;display:grid;gap:.6rem}.service-card.selected{border:2px solid var(--accent);background:#f8fcf9}.service-card h3{margin:0;font-family:Georgia,serif;font-size:1.35rem}.service-meta{color:var(--muted);display:flex;gap:1rem}.service-price{font-weight:750;font-size:1.2rem}.location-tabs{display:flex;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:var(--space-3)}.location-tabs button{flex:1;border:0;background:#fff;padding:.75rem;cursor:pointer;color:var(--ink)}.location-tabs button.active{background:var(--sage);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}.slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.slot{padding:.8rem;border:1px solid var(--accent);background:#fff;color:var(--ink);border-radius:9px;cursor:pointer}.slot.selected{background:var(--accent);color:#fff}.booking-summary{background:var(--sage);padding:1rem;border-radius:10px;min-height:3.5rem}.form-message{min-height:1.4em;color:var(--danger)}.empty,.hint,.lead{color:var(--muted)}.admin-dialog{width:min(1100px,95vw);border:0;border-radius:18px;padding:2rem;box-shadow:var(--shadow);color:var(--ink)}.admin-dialog::backdrop{background:#102e20aa}.close-button{position:absolute;right:1rem;top:.7rem;border:0;background:transparent;font-size:2rem;color:var(--ink);cursor:pointer}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.admin-grid form,#booking-form,#login-form{display:grid;gap:.75rem}.admin-list{display:grid;gap:.7rem;margin-top:1rem}.admin-list article{padding:1rem}.admin-list button{float:right;border:0;background:none;color:var(--danger);cursor:pointer}.admin-header{display:flex;justify-content:space-between;align-items:center}
