.account-page{max-width:1120px;margin:0 auto;padding:clamp(110px,14vw,170px) 24px 100px;min-height:75vh}.account-auth[hidden],.account-app[hidden],#bookingsView[hidden],#profileView[hidden],#documentsView[hidden]{display:none}.account-intro{max-width:720px;margin-bottom:48px}.account-intro h1{font-family:var(--display);font-style:italic;font-size:clamp(2.5rem,6vw,5rem);line-height:.98;letter-spacing:-.055em;margin:16px 0}.account-intro p{font-size:1.1rem;color:var(--muted);max-width:58ch}.account-auth{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,100px);padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.account-auth h2,.account-heading h2{font-family:var(--display);font-style:italic;font-size:2rem;margin-bottom:8px}.account-auth p{color:var(--muted)}.account-auth form,.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-auth label,.profile-form label{display:grid;gap:7px;font:700 .72rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.account-auth input,.profile-form input,.profile-form select{width:100%;padding:13px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);font:500 1rem var(--body);color:var(--ink)}.account-auth .btn,.account-auth .account-link,.account-msg,.profile-form .btn{grid-column:1/-1}.account-link{border:0;background:none;color:var(--speed-deep);font-weight:700;text-align:left;cursor:pointer}.account-msg{min-height:1.4em;color:#18743a}.account-msg.bad{color:#b42318}.account-bar{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.account-bar>div{display:grid;gap:3px}.account-bar strong{font-size:1.25rem}.account-bar small{color:var(--muted)}.account-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:28px 0 38px}.account-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;color:var(--muted);font-weight:800;cursor:pointer}.account-tabs button.active{color:var(--ink);border-color:var(--speed)}.payment-result{margin:0 0 24px;padding:15px 18px;border:1px solid #9bc9ad;border-radius:10px;background:#f5fbf7;color:#176a36;font-weight:750}.payment-result.confirmed{background:#edf8f1;color:#125f2f}.payment-result.cancelled{border-color:var(--line);background:var(--surface);color:var(--muted)}.account-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.booking-list{border-top:1px solid var(--line)}.booking-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(150px,1fr) minmax(150px,1fr);gap:24px 32px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.booking-main{grid-row:span 2}.booking-row h3{font-size:1.25rem;margin:7px 0 5px}.booking-row small{display:block;color:var(--muted);margin-bottom:6px}.booking-time strong{display:block;line-height:1.35}.booking-status,.booking-ref{font:700 .66rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.booking-status{color:var(--speed-deep)}.booking-ref{color:var(--muted)}.booking-price{grid-column:2/-1;padding-top:18px;border-top:1px solid var(--line)}.booking-price strong{font-size:1.35rem}.booking-price span{display:block;color:var(--muted);font-size:.82rem;margin-top:5px}.booking-docs{grid-column:2/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:18px;border-top:1px solid var(--line)}.booking-docs a{color:var(--speed-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}.booking-pay{min-height:44px;padding:10px 15px;border:0;border-radius:9px;background:var(--ink);color:#fff;font:800 .84rem var(--body);cursor:pointer;transition:background .2s,transform .2s}.booking-pay:hover{background:var(--speed-deep);transform:translateY(-1px)}.booking-pay:disabled{cursor:wait;opacity:.7;transform:none}.booking-docs span{display:grid;gap:2px;color:var(--muted);font-size:.86rem}.booking-docs span strong{color:var(--ink)}.booking-empty{display:grid;gap:8px;padding:36px 0;border-bottom:1px solid var(--line)}.booking-empty span{color:var(--muted)}.booking-cancel{grid-column:2/-1;display:flex;justify-content:flex-end}.booking-cancel button{border:0;background:none;color:var(--muted);font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.booking-cancel button:hover{color:var(--speed-deep)}.booking-cancel.pending{justify-content:flex-start;display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.86rem}.booking-cancel.pending strong{color:var(--ink)}.cancel-dialog{width:min(520px,calc(100% - 32px));padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);box-shadow:0 30px 80px #00000059}.cancel-dialog::backdrop{background:#0a080994;backdrop-filter:blur(3px)}.cancel-dialog form{display:grid;gap:15px;padding:28px}.cancel-dialog h2{font-family:var(--display);font-style:italic;font-size:2rem;margin:0}.cancel-dialog p{margin:0;color:var(--muted)}.cancel-dialog label{display:grid;gap:7px;font:700 .72rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.cancel-dialog textarea{width:100%;padding:13px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);font:500 1rem var(--body);color:var(--ink);resize:vertical}.cancel-dialog textarea:focus{outline:none;border-color:var(--speed);box-shadow:0 0 0 3px var(--speed-glow)}.cancel-dialog form>div{display:flex;align-items:center;justify-content:flex-end;gap:16px}.cancel-dialog .account-msg{margin:0}.profile-form{max-width:760px}.profile-form .btn{justify-self:start}.profile-form label:nth-child(4),.profile-form label:nth-child(5){grid-column:1/-1}.profile-consent{grid-column:1/-1!important;display:flex!important;align-items:flex-start;flex-direction:row!important;text-transform:none!important;letter-spacing:0!important;font:600 .9rem var(--body)!important}.profile-consent input{width:auto!important;margin-top:3px}.profile-state{max-width:760px;margin-bottom:24px;padding:16px 18px;border:1px solid #e4b9b5;border-radius:10px;background:#fff8f7;color:#8f1f17;font-weight:700}.document-upload{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;align-items:end;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.document-upload label{display:grid;gap:7px;font:700 .72rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.document-upload select,.document-upload input{min-height:48px;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.document-upload .account-msg{grid-column:1/-1}.document-list{border-top:1px solid var(--line);margin-top:32px}.document-row{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.document-row>div{display:grid;gap:4px}.document-row>div:first-child span{font:700 .66rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--speed-deep)}.document-row small{color:var(--muted)}.document-row>div:last-child{display:flex;align-items:center;gap:18px}.document-row a,.document-row button{border:0;background:none;color:var(--speed-deep);font-weight:800;cursor:pointer;transition:opacity .2s}.document-row a:hover,.document-row button:hover{opacity:.65}.document-row button{color:#a52a22}@media(max-width:720px){.account-auth,.account-auth form,.profile-form{grid-template-columns:1fr}.profile-form label{grid-column:1!important}.booking-row{grid-template-columns:1fr 1fr;gap:20px}.booking-main{grid-column:1/-1;grid-row:auto}.booking-price,.booking-docs,.booking-cancel{grid-column:1/-1}.account-heading{align-items:flex-start;gap:20px;flex-direction:column}.account-bar{align-items:flex-start;gap:20px}.account-tabs{gap:18px;overflow-x:auto}.account-tabs button{white-space:nowrap}.document-upload{grid-template-columns:1fr}.document-upload .account-msg{grid-column:1}.document-row{align-items:flex-start;flex-direction:column}}
