:root{--ink:#172030;--muted:#596579;--blue:#247ccc;--red:#d30721;--yellow:#ffd400;--surface:#f5f8fc;--line:#dfe6ef;--card:#fff;--shadow:0 22px 60px rgba(25,48,79,.12)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--surface);font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{height:94px;max-width:1320px;margin:0 auto;padding:17px 32px;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{display:flex;align-items:center;gap:10px}.brand img:first-child{width:129px;height:60px}.brand img:last-child{width:184px;height:60px}.phone{color:#183d79;font-weight:800;text-decoration:none}.phone::before{content:"Telefon ";color:var(--blue)}.intro{position:relative;max-width:1320px;min-height:265px;margin:0 auto;padding:60px 88px 52px;color:#fff;overflow:hidden;background:linear-gradient(120deg,#183d79,#247ccc)}.intro::after{content:"";position:absolute;inset:0 0 0 auto;width:43%;background:linear-gradient(135deg,transparent 0 35%,rgba(255,255,255,.13) 35% 60%,transparent 60%),linear-gradient(42deg,rgba(0,0,0,.17),transparent);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}.eyebrow,.section-label{margin:0 0 10px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.intro .eyebrow{color:var(--yellow)}h1,h2,p{margin-top:0}h1{max-width:680px;margin-bottom:16px;font-size:clamp(2.6rem,5vw,4.7rem);line-height:.98;letter-spacing:-.065em}h2{margin-bottom:25px;font-size:27px;letter-spacing:-.045em}.lead{max-width:500px;margin-bottom:0;font-size:18px;line-height:1.55}.intro-note{position:absolute;z-index:1;right:9%;bottom:52px;display:flex;align-items:center;gap:12px}.intro-note span{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--yellow);font-weight:900}.intro-note p{margin:0;font-size:14px;line-height:1.45}.booking-shell{max-width:1144px;margin:-28px auto 80px;position:relative;z-index:2;overflow:hidden;border-radius:28px;background:var(--card);box-shadow:var(--shadow)}.progress{padding:23px 52px;display:flex;gap:48px;border-bottom:1px solid var(--line);color:#8792a1;font-size:14px;font-weight:800}.progress span{display:flex;align-items:center;gap:9px}.progress b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#edf1f5;font-size:12px}.progress .active{color:var(--ink)}.progress .active b{background:var(--yellow)}.booking-content{display:grid;grid-template-columns:.92fr 1.08fr}.service-panel,.slot-panel{padding:46px 52px}.service-panel{background:#fbfcfe;border-right:1px solid var(--line)}.service-option{width:100%;display:flex;align-items:center;gap:16px;margin-bottom:10px;padding:15px;border:1px solid transparent;border-radius:16px;color:var(--ink);background:transparent;text-align:left}.service-option.selected{border-color:#f0cf39;background:#fffdf2}.service-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:#e8f3fc;font-weight:900;font-size:12px}.service-option.selected .service-mark{color:var(--ink);background:var(--yellow)}.service-option strong,.service-option small{display:block}.service-option strong{margin-bottom:3px;font-size:15px}.service-option small{color:var(--muted);font-size:12px}.panel-heading{display:flex;justify-content:space-between}.date-step{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;font-size:29px;line-height:1}.days{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:25px}.days button{display:grid;gap:3px;padding:11px 5px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:#fff}.days b{color:var(--ink);font-size:20px}.days span,.days small{font-size:10px;font-weight:800;letter-spacing:.07em}.days .selected{border-color:var(--ink);color:var(--ink);background:var(--yellow)}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;min-height:45px}.slots button{min-height:45px;border:1px solid #bed5ea;border-radius:11px;color:#183d79;background:#f5faff;font-weight:800}.slots button.selected,.slots button:hover{border-color:var(--blue);color:#fff;background:var(--blue)}.availability{margin:23px 0 0;color:var(--muted);font-size:12px}.availability span{width:8px;height:8px;display:inline-block;margin-right:6px;border-radius:50%;background:#21a36b}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end;padding:34px 52px 40px;border-top:1px solid var(--line)}.contact-form>div,.wide{grid-column:1/-1}.contact-form h2{margin-bottom:0;font-size:22px}label{color:var(--ink);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}label span{color:var(--muted);font-weight:600;text-transform:none}input,textarea{width:100%;margin-top:8px;padding:11px 12px;border:1px solid #d5dfeb;border-radius:10px;color:var(--ink);outline:none}textarea{resize:vertical;min-height:150px}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,124,204,.14)}.contact-form .primary-button{grid-column:1/-1;justify-self:end}.primary-button{min-height:47px;padding:0 19px;border:0;border-radius:12px;color:var(--ink);background:var(--yellow);box-shadow:0 11px 19px rgba(234,191,0,.22);font-size:13px;font-weight:900;white-space:nowrap}.primary-button:hover{background:#eec700}.primary-button span{margin-left:9px;font-size:19px;vertical-align:-1px}footer{max-width:1144px;margin:0 auto 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:12px}footer nav{display:flex;gap:18px}footer a{color:var(--muted);text-decoration:none}footer a:hover{text-decoration:underline;color:var(--blue)}dialog{width:min(440px,calc(100% - 32px));padding:34px;border:0;border-radius:24px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(23,32,48,.55)}dialog p:not(.eyebrow),.error-state p{color:var(--muted);line-height:1.55}.error-state{padding:52px}@media(max-width:850px){.site-header{padding:17px 22px}.intro{padding:52px 28px}.intro-note{display:none}.booking-shell{margin:0;border-radius:0}.booking-content{grid-template-columns:1fr}.service-panel{border-right:0;border-bottom:1px solid var(--line)}.contact-form{grid-template-columns:1fr 1fr}.contact-form>div,.wide{grid-column:span 2}footer{padding:22px}}@media(max-width:520px){.brand img:first-child{width:92px}.brand img:last-child{width:128px}.phone{display:none}.progress{padding:17px 22px;gap:14px;font-size:11px}.progress span:not(.active){display:none}.service-panel,.slot-panel{padding:34px 22px}.slots{grid-template-columns:repeat(2,1fr)}.contact-form{grid-template-columns:1fr;padding:30px 22px}.contact-form>div,.wide{grid-column:auto}footer,footer nav{display:grid;gap:8px}}
:root{--ink:#172030;--muted:#596579;--blue:#247ccc;--red:#d30721;--yellow:#ffd400;--surface:#f5f8fc;--line:#dfe6ef;--card:#fff;--shadow:0 22px 60px rgba(25,48,79,.12)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--surface);font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header{height:94px;max-width:1320px;margin:0 auto;padding:17px 32px;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{display:flex;align-items:center;gap:10px}.brand img:first-child{width:129px;height:60px}.brand img:last-child{width:184px;height:60px}.phone,.admin-link{color:#183d79;font-weight:800;text-decoration:none}.phone::before{content:"Telefon ";color:var(--blue)}.intro{position:relative;max-width:1320px;min-height:265px;margin:0 auto;padding:60px 88px 52px;color:#fff;overflow:hidden;background:linear-gradient(120deg,#183d79,#247ccc)}.intro::after{content:"";position:absolute;inset:0 0 0 auto;width:43%;background:linear-gradient(135deg,transparent 0 35%,rgba(255,255,255,.13) 35% 60%,transparent 60%),linear-gradient(42deg,rgba(0,0,0,.17),transparent);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}.eyebrow,.section-label{margin:0 0 10px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.intro .eyebrow,.admin-hero .eyebrow{color:var(--yellow)}h1,h2,p{margin-top:0}h1{max-width:680px;margin-bottom:16px;font-size:clamp(2.6rem,5vw,4.7rem);line-height:.98;letter-spacing:-.065em}h2{margin-bottom:25px;font-size:27px;letter-spacing:-.045em}.lead{max-width:500px;margin-bottom:0;font-size:18px;line-height:1.55}.intro-note{position:absolute;z-index:1;right:9%;bottom:52px;display:flex;align-items:center;gap:12px}.intro-note span{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--yellow);font-weight:900}.intro-note p{margin:0;font-size:14px;line-height:1.45}.booking-shell{max-width:1144px;margin:-28px auto 80px;position:relative;z-index:2;overflow:hidden;border-radius:28px;background:var(--card);box-shadow:var(--shadow)}.progress{padding:23px 52px;display:flex;gap:48px;border-bottom:1px solid var(--line);color:#8792a1;font-size:14px;font-weight:800}.progress span{display:flex;align-items:center;gap:9px}.progress b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#edf1f5;font-size:12px}.progress .active{color:var(--ink)}.progress .active b{background:var(--yellow)}.booking-content{display:grid;grid-template-columns:.92fr 1.08fr}.service-panel,.slot-panel{padding:46px 52px}.service-panel{background:#fbfcfe;border-right:1px solid var(--line)}.service-option{width:100%;display:flex;align-items:center;gap:16px;margin-bottom:10px;padding:15px;border:1px solid transparent;border-radius:16px;color:var(--ink);background:transparent;text-align:left}.service-option.selected{border-color:#f0cf39;background:#fffdf2}.service-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:#e8f3fc;font-weight:900;font-size:12px}.service-option.selected .service-mark{color:var(--ink);background:var(--yellow)}.service-option strong,.service-option small{display:block}.service-option strong{margin-bottom:3px;font-size:15px}.service-option small{color:var(--muted);font-size:12px}.panel-heading,.card-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.date-step{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;font-size:29px;line-height:1}.days{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:25px}.days button{display:grid;gap:3px;padding:11px 5px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:#fff}.days b{color:var(--ink);font-size:20px}.days span,.days small{font-size:10px;font-weight:800;letter-spacing:.07em}.days .selected{border-color:var(--ink);color:var(--ink);background:var(--yellow)}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;min-height:45px}.slots button{min-height:45px;border:1px solid #bed5ea;border-radius:11px;color:#183d79;background:#f5faff;font-weight:800}.slots button.selected,.slots button:hover{border-color:var(--blue);color:#fff;background:var(--blue)}.availability,.hint{margin:16px 0;color:var(--muted);font-size:12px;line-height:1.5}.availability span{width:8px;height:8px;display:inline-block;margin-right:6px;border-radius:50%;background:#21a36b}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end;padding:34px 52px 40px;border-top:1px solid var(--line)}.contact-form>div,.wide{grid-column:1/-1}.contact-form h2{margin-bottom:0;font-size:22px}label{color:var(--ink);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}label span{color:var(--muted);font-weight:600;text-transform:none}input,textarea,select{width:100%;margin-top:8px;padding:11px 12px;border:1px solid #d5dfeb;border-radius:10px;color:var(--ink);background:#fff;outline:none}textarea{resize:vertical;min-height:150px}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,124,204,.14)}.contact-form .primary-button{grid-column:1/-1;justify-self:end}.primary-button,.small-button{min-height:42px;padding:0 16px;border:0;border-radius:12px;color:var(--ink);background:var(--yellow);box-shadow:0 11px 19px rgba(234,191,0,.22);font-size:13px;font-weight:900;white-space:nowrap}.small-button{min-height:34px;box-shadow:none}.primary-button:hover,.small-button:hover{background:#eec700}.primary-button span{margin-left:9px;font-size:19px;vertical-align:-1px}footer{max-width:1144px;margin:0 auto 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:12px}footer nav{display:flex;gap:18px}footer a{color:var(--muted);text-decoration:none}footer a:hover{text-decoration:underline;color:var(--blue)}dialog{width:min(440px,calc(100% - 32px));padding:34px;border:0;border-radius:24px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(23,32,48,.55)}dialog p:not(.eyebrow),.error-state p{color:var(--muted);line-height:1.55}.error-state{padding:52px}.cancel-page main{max-width:760px;margin:auto;padding:48px 24px}.cancel-card{margin:30px 0;padding:38px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.cancel-card button{width:100%;border:0;text-align:center}.admin-main{max-width:1240px;margin:0 auto;padding:40px 24px 64px}.admin-hero{padding:42px 48px;border-radius:26px;color:#fff;background:linear-gradient(120deg,#172030,#247ccc)}.admin-hero h1{margin-bottom:12px;font-size:54px}.admin-hero p:last-child{margin-bottom:0}.admin-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:18px;margin-top:20px;align-items:start}.admin-card{padding:28px;border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(25,48,79,.08)}.admin-card h2{margin-bottom:15px;font-size:23px}.user-list{display:grid;gap:8px}.user-item{padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;text-align:left}.user-item:hover{border-color:var(--blue);background:#f5faff}.user-item strong,.user-item small{display:block}.user-item small,.room-list span{margin-top:4px;color:var(--muted);font-size:12px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toggle{display:flex;align-items:center;gap:8px;padding-top:24px}.toggle input{width:auto;margin:0;accent-color:var(--blue)}.toggle span{color:var(--ink);font-size:12px;font-weight:800;text-transform:none}.setup-card hr{margin:28px 0;border:0;border-top:1px solid var(--line)}.duration-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.window-list{display:grid;gap:8px}.window-row{display:grid;grid-template-columns:1fr 92px 28px 92px 30px;gap:8px;align-items:center}.window-row input,.window-row select{margin:0;padding:9px}.window-row span{text-align:center;color:var(--muted);font-size:12px}.window-row button{width:30px;height:30px;border:0;border-radius:8px;color:var(--red);background:#fff1f3;font-size:20px;line-height:1}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}.form-actions #status{color:#176343;font-size:13px;font-weight:800}.public-url{padding:6px 8px;border-radius:7px;color:#183d79;background:#edf6fc;font-size:12px;font-weight:800}.room-list p{padding:12px 0;border-bottom:1px solid var(--line)}.room-form{display:grid;gap:12px;margin-top:20px}.room-form .small-button{justify-self:start}.admin-page footer{padding:0 24px}@media(max-width:1050px){.admin-grid{grid-template-columns:1fr 1fr}.staff-card{grid-row:span 2}.room-card{grid-column:2}.admin-hero{padding:38px}}@media(max-width:850px){.site-header{padding:17px 22px}.intro{padding:52px 28px}.intro-note{display:none}.booking-shell{margin:0;border-radius:0}.booking-content{grid-template-columns:1fr}.service-panel{border-right:0;border-bottom:1px solid var(--line)}.contact-form{grid-template-columns:1fr 1fr}.contact-form>div,.wide{grid-column:span 2}footer{padding:22px}.admin-grid{grid-template-columns:1fr}.staff-card,.room-card{grid-column:auto;grid-row:auto}.admin-main{padding-inline:18px}}@media(max-width:520px){.brand img:first-child{width:92px}.brand img:last-child{width:128px}.phone{display:none}.progress{padding:17px 22px;gap:14px;font-size:11px}.progress span:not(.active){display:none}.service-panel,.slot-panel{padding:34px 22px}.slots{grid-template-columns:repeat(2,1fr)}.contact-form{grid-template-columns:1fr;padding:30px 22px}.contact-form>div,.wide{grid-column:auto}footer,footer nav{display:grid;gap:8px}.admin-hero{margin:0 -18px;border-radius:0;padding:34px 22px}.admin-hero h1{font-size:42px}.field-grid,.duration-list{grid-template-columns:1fr}.window-row{grid-template-columns:1fr 78px 22px 78px 30px}.admin-card{padding:22px}}
.schedule-grid{display:grid;gap:14px}.schedule-group{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}.schedule-group h3{margin:0;font-size:16px;letter-spacing:-.02em}.schedule-group .card-heading{align-items:center;margin-bottom:14px}@media(max-width:520px){.schedule-group{padding:14px}}
.days button:disabled{cursor:default;opacity:.38}
.date-navigation{display:flex;gap:8px}.date-step:disabled{cursor:default;opacity:.35}
.captcha{min-height:1px}
#request-ip{display:none}
.logout-link{color:var(--red)}
