@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap');
:root{--card:#ffffffed;--text:#222b40;--muted:#66728a;--line:#dce3ef;--accent:#4267b8;--accent-dark:#3156a3;--accent-light:#e7edfc;--soft:#f3f6fc;--danger:#a63e53;--shadow:0 12px 44px #26355212;--radius:24px}
@property --aura-x{syntax:'<percentage>';initial-value:10%;inherits:false}
@property --aura-y{syntax:'<percentage>';initial-value:5%;inherits:false}
body{font-family:'Outfit',Arial,Helvetica,sans-serif;background:#f8f9fc;isolation:isolate;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--aura-x) var(--aura-y),#b4dae4 0%,transparent 58%),radial-gradient(ellipse at calc(100% - var(--aura-x)) 15%,#e2bddc 0%,transparent 58%),linear-gradient(180deg,#e5d9ee,#f8f9fc 82%);animation:booking-aura 5s ease-in-out infinite alternate}
@keyframes booking-aura{to{--aura-x:90%;--aura-y:65%}}
button,input,textarea,select{font-family:inherit}button{touch-action:manipulation}
.page{padding:40px 24px 50px}.shell{max-width:680px}
.hero{padding:26px 28px;background:#ffffff80;border:1px solid #ffffffc9;box-shadow:none;color:var(--text);border-radius:24px}
.brand{grid-template-columns:72px minmax(0,1fr);gap:18px;margin-bottom:24px}
.brand-mark{width:72px;height:92px;filter:brightness(0);object-fit:contain}
.brand-text{margin-left:0;padding-top:0}.brand-name{font-family:inherit;font-style:normal;color:var(--text);font-size:27px;font-weight:600;letter-spacing:-.025em;text-shadow:none;white-space:normal}
.brand-line{height:1px;background:#cbd6eb;margin:10px 0}.brand-slogan{font-family:inherit;font-style:normal;color:var(--muted);font-size:14px;font-weight:400;letter-spacing:.02em;text-shadow:none;white-space:normal}
.page-name{font-family:inherit;font-style:normal;font-weight:400;letter-spacing:-.04em;font-size:42px;color:var(--text);text-shadow:none;text-align:left;line-height:1.15}
.hero-note{color:var(--muted);background:#ffffff9c;border:1px solid #dce3ef;border-radius:16px;padding:16px;font-family:inherit;font-style:normal;font-weight:400;font-size:15px;line-height:1.6;text-align:left}
.hero-note strong{font-family:inherit;font-style:normal;font-size:18px;color:var(--accent-dark);white-space:normal}.first-visit-terms{font-size:12px;line-height:1.6}
.card{padding:28px;margin-top:20px;backdrop-filter:none;border-color:#ffffffd9}
.section-title{text-align:left;font-size:24px;font-weight:500;margin:0 0 20px}
.category{border-color:var(--line);background:#fff;border-radius:16px}.category summary{font-size:16px;font-weight:600;padding:16px}
.category summary::after{width:30px;height:30px;flex-basis:30px;background-color:#edf2ff;background-size:30px;background-image:url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 12L15 17L20 12' fill='none' stroke='%233156a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.category[open] summary::after{background-color:#e2eaff}
.service-btn{border-radius:12px;border-color:var(--line);padding:14px;background:#fafbfe}.service-btn:hover{border-color:#b4c6eb;background:#f2f5ff}.service-btn.active{border-color:var(--accent);background:#edf2ff;box-shadow:0 0 0 2px #4267b814}
.service-name{font-size:15px;font-weight:500;line-height:1.5}.service-price{font-weight:600;font-size:14px}.service-btn small,.service-option small{color:var(--muted)}
.combo-badge{color:var(--accent-dark);background:#e5edff}.architecture-addon,.wax-zones{background:#f8faff;border-color:var(--line)}.wax-zones button{border-color:var(--line);color:var(--accent-dark)}
.selected-box{border:1px solid #bdcdec;background:#eef3ff;border-radius:16px}.selected-total,.selected-duration{border-color:#cbd7ed}.selected-service-remove{background:#e0e8fa;color:var(--accent-dark)}.clear-all-selected{border-color:#becdec;background:#fff;font-weight:500}
.grid{gap:18px;margin-top:24px}.field span{font-size:13px;font-weight:500}.field input,.field textarea{border-radius:13px;font-size:16px;background:#fff;min-height:50px}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4267b81c}
.booking-calendar-section,.booking-day-section,.promo{background:#f4f7fd;border-color:var(--line);border-radius:16px;padding:16px}
.booking-calendar-head,.booking-day-head{flex-wrap:wrap;line-height:1.5}.booking-section-hint,.day-timeline-placeholder{font-size:13px;color:var(--muted);line-height:1.6}
.booking-calendar-day.is-selected{background:#e8efff;border-color:var(--accent);color:var(--accent-dark);box-shadow:0 0 0 2px #4267b81c}
.booking-calendar-day.is-no_window,.booking-calendar-day.is-unavailable{background:#edf0f6;color:#7d899f}.booking-calendar-nav button,.day-window-btn,.day-start-btn{border-color:#cad6ec;font-weight:500}.day-start-btn.is-selected{color:#fff}
.day-timeline-item{border-color:var(--line)}.day-timeline-item.busy{background:#edf0f6;color:var(--muted)}
.promo{border-style:solid}.promo-title{font-weight:500}.promo-title span:last-child{font-size:12px;color:var(--muted)}.discount-info-link{color:var(--accent-dark);font-size:13px;font-weight:500}
.booking-consent{background:#f4f7fd;border-color:var(--line);color:var(--muted);font-size:12px;line-height:1.6}.booking-consent input{accent-color:var(--accent);min-height:0}.booking-consent a{color:var(--accent-dark)}
.submit{background:var(--accent);border-radius:14px;font-weight:600;box-shadow:0 8px 24px #3156a324;min-height:54px}.submit:active{box-shadow:0 4px 14px #3156a320}
.footer{color:var(--muted);font-size:13px;padding-top:24px}
/* IDs outrank the style elements appended by the original application. */
#clientStartModal,#morningRequestChannelModal,#bookingResultModal{padding:20px;overflow-y:auto;overscroll-behavior:contain}
#clientStartModal .client-start-backdrop,#morningRequestChannelModal .client-start-backdrop,#bookingResultModal .booking-result-backdrop,.discount-info-backdrop{background:#17233e66;backdrop-filter:blur(8px)}
#clientStartModal .client-start-box,#morningRequestChannelModal .client-start-box,#bookingResultModal .booking-result-box,.discount-info-dialog{background:linear-gradient(140deg,#fff,#f5f7fc);border:1px solid #ffffffd9;border-radius:24px;padding:28px;box-shadow:0 24px 80px #17233e33;width:min(480px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;color:var(--text);font-family:inherit}
#clientStartModal .client-start-box h2,#morningRequestChannelModal .client-start-box h2,#bookingResultModal .booking-result-box h2{color:var(--text);font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.25}
#clientStartModal .client-start-box p,#morningRequestChannelModal .client-start-box p,#bookingResultModal .booking-result-box p{color:var(--muted);font-size:15px;line-height:1.6}
#clientStartModal .client-start-box label,#morningRequestChannelModal .client-start-box label{color:var(--muted);font-size:13px;font-weight:500}
#clientStartModal .client-start-box input,#morningRequestChannelModal .client-start-box input{border-color:var(--line);border-radius:13px;font-size:16px;min-height:50px;color:var(--text)}
#clientStartModal .client-start-actions button,#morningRequestChannelModal .client-start-actions button,#bookingResultModal .booking-result-box button{background:var(--accent);border-radius:13px;font-size:16px;font-weight:600;color:#fff;min-height:50px;padding:14px;line-height:1.4}
#clientStartModal .client-start-secondary,#morningRequestChannelModal .client-start-secondary{background:#eaf0fb;color:var(--accent-dark)}
#bookingResultModal .booking-telegram-link{border-radius:13px;font-weight:600;font-size:16px;line-height:1.4}
#bookingResultModal .booking-telegram-check,#bookingResultModal .booking-telegram-refresh,#bookingResultModal .booking-max-check{background:var(--accent-dark)!important}
#bookingResultModal .booking-max-link{background:#6f5bd3!important}
.discount-info-dialog{width:min(560px,100%);display:flex;overflow:hidden}.discount-info-dialog h2{font-size:25px;line-height:1.3;letter-spacing:-.025em;font-weight:500}.discount-info-content{font-size:15px;color:var(--muted);line-height:1.65}
.discount-info-close{background:#edf2fb;color:var(--text)}.discount-info-understood{background:var(--accent);font-weight:600}
.lena-cookie-notice{color:var(--muted);border-color:var(--line);box-shadow:0 8px 24px #17233e20}.lena-cookie-notice a{color:var(--accent-dark)}.lena-cookie-notice__button{background:var(--accent)}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.page{padding:20px 14px 34px}.hero{padding:22px 20px}.brand{grid-template-columns:60px minmax(0,1fr);gap:14px;margin-bottom:22px}.brand-mark{width:60px;height:82px}.brand-name{font-size:24px}.brand-slogan{font-size:13px}.brand-text{margin-left:0}.page-name{font-size:35px}.hero-note{font-size:14px;padding:14px}.hero-note strong{font-size:17px;white-space:normal}.card{padding:20px}.section-title{font-size:22px}.category summary{font-size:15px}.category summary::after{width:30px;height:30px;flex-basis:30px;background-size:30px}.service-btn{grid-template-columns:minmax(0,1fr) auto;gap:10px}.service-price{justify-self:end}.service-name{font-size:14px}.booking-calendar-section,.booking-day-section,.promo{padding:13px}.client-start-actions.two{grid-template-columns:1fr}
#clientStartModal,#morningRequestChannelModal,#bookingResultModal{padding:12px}#clientStartModal .client-start-box,#morningRequestChannelModal .client-start-box,#bookingResultModal .booking-result-box,.discount-info-dialog{padding:24px 20px;max-height:calc(100dvh - 24px);border-radius:22px}#clientStartModal .client-start-box h2,#morningRequestChannelModal .client-start-box h2,#bookingResultModal .booking-result-box h2{font-size:24px}}
@media(max-width:360px){.brand-name{font-size:21px}.page-name{font-size:31px}.card{padding:16px}.service-btn{grid-template-columns:minmax(0,1fr)}.service-price{justify-self:start}.day-timeline-item{grid-template-columns:70px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){body::before{animation:none}*{scroll-behavior:auto!important}}
.hero-note strong{display:block;font-size:16px;font-weight:500;line-height:1.5;margin-top:10px;letter-spacing:0;color:#3156a3;white-space:nowrap}
@media(max-width:600px){.hero-note strong{font-size:clamp(12px,3.5vw,15px);font-weight:500;white-space:nowrap}}
.hero .page-name{text-align:center}
.hero .hero-note{text-align:center;line-height:1.6}
.hero .hero-note strong{display:table;max-width:100%;margin:14px auto 0;padding:8px 12px;border:1px solid #c8d6ef;border-radius:12px;background:#eaf0fc;color:#3156a3;font-weight:500;line-height:1.4;font-size:15px;white-space:normal}
.hero .hero-note #clientProgramBadge[data-state="pending"]{display:none}
.hero .hero-note #clientProgramBadge[data-state="returning"]{white-space:normal}
#clientProgramBadge small{display:block;margin-top:4px;font-size:12px;line-height:1.5;font-weight:400}
body[data-client-program-state="returning"] .first-visit-terms{display:none}
@media(max-width:600px){.hero .hero-note strong{font-size:clamp(12px,3.5vw,14px);padding:8px 10px;white-space:nowrap}}
