:root{--ink:#14211d;--muted:#6d7974;--paper:#f2f0e8;--card:#fffdf8;--accent:#e85532;--line:rgba(20,33,29,.13)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.client-header{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(242,240,232,.92);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:850;font-size:19px}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font:italic 20px Georgia,serif}.client-header>div{display:flex;gap:15px;align-items:center}.link-button{padding:0;border:0;background:none;color:var(--accent);cursor:pointer}.client-shell{max-width:1120px;margin:auto;padding:64px 20px 100px}.auth-card{max-width:570px;margin:40px auto;padding:44px;border:1px solid var(--line);border-radius:28px;background:var(--card);box-shadow:0 24px 70px rgba(20,33,29,.1)}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}h1{margin:0;font:clamp(44px,6vw,72px)/.98 Georgia,serif;letter-spacing:-.045em}.lead,.welcome p{color:var(--muted);line-height:1.6}form{display:grid;gap:16px;margin-top:30px}label{display:grid;gap:7px;font-size:13px;font-weight:700}input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;font:inherit;outline:0}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,85,50,.12)}button{min-height:46px;padding:0 18px;border:0;border-radius:13px;background:var(--ink);color:#fff;font:inherit;font-weight:800;cursor:pointer}.secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.consent{grid-template-columns:auto 1fr;align-items:start;font-size:12px;font-weight:500;line-height:1.45}.consent input,.radio input{width:auto}.consent a{color:var(--accent)}.status{min-height:20px;margin:4px 0 0;color:var(--accent);font-size:13px}.welcome{display:flex;align-items:end;justify-content:space-between;gap:30px}.welcome h1{font-size:64px}.profile-button{background:var(--accent)}.filters{display:flex;gap:8px;overflow:auto;margin:38px 0 24px}.filters button{min-height:40px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);white-space:nowrap}.filters button.active{border-color:var(--ink);background:var(--ink);color:#fff}.bookings{display:grid;gap:14px}.booking{display:grid;grid-template-columns:155px 1fr auto;gap:22px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--card)}.booking-date strong{display:block;font:27px Georgia,serif}.booking-date span,.booking-main small,.booking-meta{color:var(--muted)}.booking-main h3{margin:5px 0;font-size:20px}.project{color:var(--accent);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.booking-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.booking-actions button{min-height:38px;padding-inline:13px;font-size:12px}.booking-actions .cancel{border:1px solid #e8b5aa;background:transparent;color:#b8371d}.empty{padding:70px 24px;border:1px dashed var(--line);border-radius:22px;text-align:center;color:var(--muted)}dialog{width:min(520px,calc(100% - 28px));padding:0;border:0;border-radius:24px;background:var(--card);color:var(--ink);box-shadow:0 40px 100px rgba(20,33,29,.3)}dialog::backdrop{background:rgba(20,33,29,.55);backdrop-filter:blur(5px)}dialog form{padding:28px;margin:0}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0;font:34px Georgia,serif}.dialog-head button{width:40px;min-height:40px;padding:0;border-radius:50%;background:transparent;color:var(--ink);font-size:28px}fieldset{display:flex;gap:18px;padding:16px;border:1px solid var(--line);border-radius:13px}.radio{display:flex;align-items:center;gap:7px}.status-pill{display:inline-block;margin-top:8px;padding:5px 8px;border-radius:999px;background:#e5eee9;font-size:11px}.status-pill.cancelled{background:#f5ddd7;color:#9e321d}@media(max-width:720px){.client-shell{padding-top:34px}.auth-card{margin:0;padding:28px 20px}.welcome{align-items:flex-start;flex-direction:column}.welcome h1{font-size:50px}.booking{grid-template-columns:1fr}.booking-actions{justify-content:flex-start}.client-header b{display:none}}
