*{box-sizing:border-box}body{margin:0;background:#eef9fc;color:#17323d;font-family:Arial,sans-serif;min-height:100vh;padding:50px 20px}.box{width:min(520px,100%);margin:auto;background:#fff;padding:38px;border-radius:24px;box-shadow:0 18px 60px #17323d18}.wide{width:min(760px,100%)}.admin{width:min(1100px,100%)}.massage-editor{width:min(1200px,100%)}.brand{display:flex;align-items:center;gap:12px;color:#17323d;text-decoration:none;font-weight:700;font-size:20px}.brand img{width:48px;height:48px;object-fit:contain}h1{font-size:34px;margin:28px 0 8px}p{color:#65777e}label{display:block;font-weight:700;margin:17px 0}input,select{width:100%;padding:13px;border:1px solid #cfe3e9;border-radius:10px;margin-top:7px;font:inherit}button,.linkbtn{border:0;background:#3eacd3;color:#fff;padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer}.box>form>button{width:100%;margin-top:8px}.small{font-size:14px;margin-top:24px}.small a{color:#268db5}.error,.success{padding:12px;border-radius:10px;margin:18px 0}.error{background:#fff0f0}.success{background:#effaf3}.top{display:flex;justify-content:space-between;gap:20px;align-items:center}.profile{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0}.profile div{padding:20px;background:#f6fbfd;border-radius:14px}.profile small,.profile strong{display:block}.profile small{color:#6d8087;margin-bottom:5px}.table{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:25px}th,td{text-align:left;padding:13px;border-bottom:1px solid #e4eff2}.role{display:flex;gap:7px}.role select{margin:0;min-width:105px;padding:8px}.role button{padding:8px 12px}.feature-card,.massage-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f6fbfd;border-radius:16px;padding:22px;margin:20px 0}.feature-card h2,.massage-card h2{margin:5px 0}.new-massage{display:block;border:2px dashed #b9dce8;border-radius:16px;padding:24px;text-align:center;text-decoration:none;color:#268db5;font-weight:700}.massage-list{margin-top:25px}
/* Admin */.adminbody{padding:0;background:#f2f8fa;color:#17323d}.admin-shell{min-height:100vh}.admin-head{height:72px;padding:0 clamp(22px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dce9ed}.admin-brand{display:flex;align-items:center;gap:11px;color:#17323d;text-decoration:none}.admin-brand img{width:30px;height:30px;object-fit:contain}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:14px}.admin-brand small{font-size:7px;letter-spacing:1.8px;color:#429dbc;margin-top:2px}.admin-head-links{display:flex;align-items:center;gap:24px}.admin-head-links a{font-size:12px;font-weight:700;color:#64808a;text-decoration:none}.admin-head-links .admin-site{padding:9px 13px;border:1px solid #d6e5e9;border-radius:8px}.admin-content{max-width:1380px;margin:auto;padding:52px clamp(24px,5vw,70px) 90px}.admin-welcome{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.admin-welcome>div>small,.admin-section-head small{font-size:9px;letter-spacing:2.2px;color:#3199bd;font-weight:800}.admin-welcome h1{font-size:clamp(40px,4vw,58px);letter-spacing:-1.8px;margin:7px 0 8px}.admin-welcome p{font-size:15px;margin:0}.admin-stats{display:grid;grid-template-columns:repeat(3,130px);gap:10px}.admin-stats div{padding:16px 18px;background:#fff;border:1px solid #dce9ed;border-radius:12px}.admin-stats span,.admin-stats strong{display:block}.admin-stats span{font-size:10px;color:#748b93}.admin-stats strong{font-size:26px;margin-top:5px}.admin-section{margin-top:32px}.admin-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.admin-section-head h2{font-size:22px;margin:5px 0 0}.admin-section-head>span{font-size:11px;color:#789097}.admin-routine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-routine-card{background:#fff;border:1px solid #dce9ed;border-radius:16px;overflow:hidden}.admin-routine-top{display:flex;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #e7eff2}.admin-routine-top span,.admin-routine-top small{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#439fbd}.admin-routine-top small{color:#8a9da3}.admin-routine-main{padding:22px 18px}.admin-routine-main small{font-size:11px;color:#71878e}.admin-routine-main h3{font-size:21px;margin:7px 0}.admin-routine-main p{font-size:11px;margin:0}.admin-routine-card>a{display:flex;justify-content:space-between;padding:15px 18px;background:#f7fbfc;border-top:1px solid #e7eff2;color:#247f9e;text-decoration:none;font-size:12px;font-weight:800}.admin-empty{padding:35px;background:#fff;border:1px solid #dce9ed;border-radius:14px;color:#758b92}.admin-people{background:#fff;border:1px solid #dce9ed;border-radius:16px;overflow:hidden}.admin-table-head,.admin-person{display:grid;grid-template-columns:minmax(300px,1fr) 260px 110px;gap:20px;align-items:center;padding:13px 20px}.admin-table-head{background:#f7fbfc;border-bottom:1px solid #e5eef1;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#81959b}.admin-person{min-height:72px;border-bottom:1px solid #edf3f5}.admin-person:last-child{border-bottom:0}.admin-person-info{display:flex;align-items:center;gap:12px}.admin-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8f5f8;color:#2889aa;font-size:11px;font-weight:800}.admin-person-info strong,.admin-person-info small{display:block}.admin-person-info strong{font-size:13px}.admin-person-info small{font-size:11px;color:#80949a;margin-top:3px}.admin-person time{font-size:11px;color:#71878e}.admin-role-form{display:flex;gap:8px;align-items:center}.admin-role-form select{width:120px;margin:0;padding:8px 10px;font-size:11px;border-radius:8px}.admin-role-form button{padding:9px 12px;border-radius:8px;font-size:10px}.role-pill{display:inline-block;padding:7px 11px;border-radius:20px;background:#e9f5f8;color:#247e9c;font-size:10px;font-weight:800}
/* Custom massage builder */.builderbody{padding:0;background:#f2f8fa;color:#17323d}.builder-shell{min-height:100vh}.builder-head{height:72px;padding:0 clamp(22px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dce9ed}.builder-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#17323d;font-weight:700}.builder-brand img{width:30px;height:30px;object-fit:contain}.builder-exit{color:#60808b;text-decoration:none;font-size:13px;font-weight:700}.builder-shell form{max-width:1380px;margin:auto;padding:50px clamp(24px,5vw,70px) 90px}.builder-intro{display:grid;grid-template-columns:1fr minmax(430px,520px);gap:70px;align-items:end}.builder-intro>div>small,.section-title small,.builder-time small{font-size:9px;letter-spacing:2.2px;color:#3199bd;font-weight:800}.builder-intro h1{font-size:clamp(38px,4vw,58px);letter-spacing:-1.8px;margin:8px 0 12px}.builder-intro p{max-width:620px;font-size:17px;line-height:1.6;margin:0}.builder-fields{display:grid;grid-template-columns:1.5fr 1fr;gap:15px}.builder-fields label,.routine-step label{margin:0;font-size:11px;color:#5d747c}.builder-fields input,.builder-fields select,.routine-step input,.routine-step select{background:#fff;border:1px solid #d5e5ea;border-radius:10px;margin-top:7px;outline:none}.builder-fields input:focus,.builder-fields select:focus,.routine-step input:focus,.routine-step select:focus{border-color:#55b9d8;box-shadow:0 0 0 3px #55b9d815}.builder-error{margin-top:25px;padding:14px 18px;background:#fff1f1;border:1px solid #f0cece;border-radius:10px;color:#8a3c3c}.builder-time{display:grid;grid-template-columns:190px 1fr 230px;align-items:center;gap:25px;margin:42px 0 30px;padding:20px 24px;background:#fff;border:1px solid #dce9ed;border-radius:14px}.builder-time strong{display:block;font-size:17px;margin-top:3px}.builder-track{height:8px;background:#e5eff2;border-radius:20px;overflow:hidden}.builder-track i{display:block;height:100%;width:0;background:#43b3d5;border-radius:20px;transition:.25s}.builder-time>span{font-size:12px;color:#71878e;text-align:right}.builder-time>span.ready{color:#23815c;font-weight:700}.builder-time>span.over{color:#b34c4c;font-weight:700}.builder-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(560px,1.25fr);gap:28px;align-items:start}.area-picker,.routine-panel{background:#fff;border:1px solid #dce9ed;border-radius:18px;padding:28px}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:22px;border-bottom:1px solid #e7eff2}.section-title h2{margin:5px 0 0;font-size:22px}.section-title p{font-size:12px;margin:0;text-align:right}.area-groups{display:grid;gap:27px;padding-top:25px}.area-groups h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#637c84;margin:0 0 12px}.area-chips{display:flex;flex-wrap:wrap;gap:9px}.area-chips button{padding:10px 13px;background:#f4f9fa;color:#315c69;border:1px solid #d9e9ed;border-radius:9px;font-size:12px;font-weight:700}.area-chips button:hover{background:#e6f5f9;border-color:#80c8dd;color:#167da0}.routine-step{display:grid;grid-template-columns:minmax(130px,1fr) minmax(145px,1.15fr) 85px 100px 32px;gap:10px;align-items:end;padding:18px 0;border-bottom:1px solid #e7eff2}.routine-area{display:flex;align-items:center;gap:10px;min-height:48px}.routine-area strong,.routine-area small{display:block}.routine-area strong{font-size:14px}.routine-area small{font-size:10px;color:#7a9097;margin-top:3px}.drag{font-size:17px;color:#b1c2c7;font-weight:400}.routine-step label span{display:block}.routine-step input,.routine-step select{padding:11px 10px;font-size:12px;height:42px}.routine-remove{width:32px;height:42px;padding:0;border-radius:9px;background:#f7f2f2;color:#a65b5b;font-size:18px}.routine-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7a9097}.routine-empty>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#edf7fa;color:#3199bd;font-size:24px;margin-bottom:12px}.routine-empty strong{color:#4a6871}.routine-empty p{font-size:12px;margin:6px 0}.builder-actions{display:flex;justify-content:flex-end;align-items:center;gap:28px;margin-top:28px}.builder-actions a{color:#647d85;text-decoration:none;font-size:13px;font-weight:700}.builder-actions button{min-width:220px;border-radius:10px;padding:14px 22px;background:#269fc6}.builder-actions button:disabled{background:#bdcdd2;color:#f1f5f6;cursor:not-allowed}
/* Treatment player */.playerbody{padding:0;background:#081d24;color:#fff}.player{min-height:100vh;display:flex;flex-direction:column}.pro-player{background:linear-gradient(145deg,#0d303a,#071b22 55%,#06171c);min-height:100vh}.player-head{min-height:86px;padding:16px clamp(22px,4vw,58px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12;background:#06171cb8}.player-brand{display:flex;align-items:center;gap:14px}.player-brand img{width:36px;height:36px;object-fit:contain}.player-brand small{display:block;font-size:9px;letter-spacing:2px;color:#72cde8;font-weight:700}.player-brand h1{font-size:21px!important;margin:3px 0!important;line-height:1.1}.player-brand span{font-size:12px;color:#8eabb4}.player-head-actions{display:flex;align-items:center;gap:18px}.player-head-actions button,.player-head-actions a{border:0;background:transparent;color:#9fc2cc;padding:8px 0;border-radius:0;text-decoration:none;font-size:12px;font-weight:700}.player-head-actions button:hover,.player-head-actions a:hover{color:#fff}.player-progress{height:4px;background:#163640}.player-progress i{display:block;height:100%;width:0;background:#54c5e5;transition:.3s;box-shadow:0 0 18px #54c5e566}.player-stage{flex:1;display:grid}.pro-player .player-stage{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(45px,7vw,110px);max-width:1320px;width:100%;margin:0 auto;padding:clamp(45px,7vh,90px) clamp(28px,5vw,70px);align-items:center}.pro-player .player-info{min-width:0}.stepcount{font-size:10px;letter-spacing:3px;color:#6cc7df;font-weight:700}.pro-player .player-info h2{font-size:clamp(48px,6vw,82px)!important;letter-spacing:-2.5px;line-height:.95;margin:16px 0 13px!important;max-width:820px;text-shadow:0 10px 35px #0004}.pro-player .player-info h3{font-size:clamp(18px,2vw,24px)!important;font-weight:400;color:#8fb1bb!important;margin:0}.treatment-meta{display:grid;grid-template-columns:repeat(3,minmax(115px,155px));gap:14px;margin:34px 0}.treatment-meta div{padding:15px 17px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff0d}.treatment-meta small,.next-card small{display:block;font-size:8px;letter-spacing:1.7px;color:#678d98;margin-bottom:6px}.treatment-meta strong{font-size:15px;color:#d6eff5}.pro-player .timer{font-size:clamp(92px,11vw,148px)!important;font-weight:700;line-height:.82;letter-spacing:-7px;font-variant-numeric:tabular-nums;text-shadow:0 0 36px #42c2e722}.timer-caption{font-size:9px;letter-spacing:2.3px;color:#628792;margin:16px 0 35px}.next-card{display:inline-block;min-width:320px;padding:15px 19px;background:#06191f80;border-left:2px solid #4fc4e5;border-radius:3px 10px 10px 3px}.next-card strong{color:#ccebf3;font-size:15px}.player-sequence{align-self:center;background:#06191f88;border:1px solid #ffffff0d;border-radius:18px;padding:20px;max-height:58vh;overflow:auto}.sequence-head{display:flex;justify-content:space-between;color:#bddce4;margin-bottom:16px;font-size:13px;font-weight:700}.sequence-head small{color:#5ec7e5}.sequence-item{display:flex;gap:12px;align-items:center;padding:12px 7px;border-bottom:1px solid #ffffff0a;opacity:.4}.sequence-item>b{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#ffffff0c;font-size:10px}.sequence-item strong,.sequence-item small{display:block}.sequence-item strong{font-size:13px;color:#d5edf3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sequence-item small{font-size:10px;color:#71939d;margin-top:3px;text-transform:capitalize}.sequence-item span{min-width:0}.sequence-item.active{opacity:1;background:#48bede10;border-radius:10px;border-bottom-color:transparent}.sequence-item.active>b{background:#43bddd;color:#06212a}.sequence-item.done{opacity:.62}.sequence-item.done>b{background:#315f69;color:#9de2f3}.player-controls{display:grid;grid-template-columns:150px minmax(210px,260px) 150px;justify-content:center;align-items:center;column-gap:clamp(30px,5vw,70px);padding:22px clamp(25px,5vw,70px);border-top:1px solid #ffffff12;background:#05171ce8;position:sticky;bottom:0}.player-controls button{width:100%;min-height:50px;border:1px solid #ffffff14;background:#102d36;color:#c9e6ed;border-radius:12px;font-size:14px;padding:13px 20px;font-weight:700}.player-controls .play{background:#45badd;color:#05202a;border-color:transparent;box-shadow:0 8px 24px #2ca9ce22}.treatment-running .player-controls .play{background:#173b46;color:#bde9f5;border-color:#ffffff12}
@media(max-width:1000px){.admin-routine-grid{grid-template-columns:1fr 1fr}.admin-welcome{align-items:flex-start;flex-direction:column}.builder-intro{grid-template-columns:1fr;gap:30px}.builder-grid{grid-template-columns:1fr}.pro-player .player-stage{grid-template-columns:1fr;gap:35px;padding:45px 35px}.player-sequence{width:100%;max-height:210px}.player-controls{grid-template-columns:130px minmax(190px,230px) 130px;column-gap:24px}}@media(max-width:650px){body{padding:20px 12px}.box{padding:25px}.profile{grid-template-columns:1fr}.top,.feature-card{align-items:flex-start;flex-direction:column}.massage-card{align-items:center}.adminbody{padding:0}.admin-head{height:62px;padding:0 17px}.admin-brand img{width:25px;height:25px}.admin-head-links{gap:12px}.admin-head-links .admin-site{display:none}.admin-content{padding:32px 16px 70px}.admin-welcome{gap:25px;margin-bottom:35px}.admin-welcome h1{font-size:38px}.admin-stats{grid-template-columns:repeat(3,1fr);width:100%}.admin-stats div{padding:13px 10px}.admin-stats strong{font-size:22px}.admin-routine-grid{grid-template-columns:1fr}.admin-table-head{display:none}.admin-person{grid-template-columns:1fr;gap:12px;padding:16px}.admin-role-form{justify-content:flex-start}.admin-person time{display:none}.builderbody{padding:0}.builder-head{height:62px;padding:0 17px}.builder-brand img{width:25px;height:25px}.builder-shell form{padding:32px 16px 75px}.builder-intro h1{font-size:37px}.builder-intro p{font-size:14px}.builder-fields{grid-template-columns:1fr}.builder-time{grid-template-columns:1fr;gap:12px;margin:28px 0 20px}.builder-time>span{text-align:left}.area-picker,.routine-panel{padding:20px 16px}.section-title{display:block}.section-title p{text-align:left;margin-top:8px}.routine-step{grid-template-columns:1fr 1fr;padding:18px 0;position:relative}.routine-area{grid-column:1/-1}.routine-remove{position:absolute;right:0;top:16px}.builder-actions{justify-content:space-between}.builder-actions button{min-width:0}.playerbody{padding:0}.player-head{padding:13px 18px;min-height:72px}.player-brand img{width:28px;height:28px}.player-brand h1{font-size:17px!important}.player-brand small{font-size:7px}.player-head-actions button{display:none}.player-head-actions{gap:0}.pro-player .player-stage{padding:35px 22px;text-align:center}.pro-player .player-info h2{font-size:46px!important}.pro-player .player-info h3{font-size:18px!important}.treatment-meta{grid-template-columns:repeat(3,1fr);gap:7px;margin:27px 0}.treatment-meta div{padding:11px 7px}.treatment-meta strong{font-size:12px}.pro-player .timer{font-size:82px!important;letter-spacing:-4px}.timer-caption{margin-bottom:28px}.next-card{min-width:0;width:100%;text-align:left}.player-sequence{display:none}.player-controls{grid-template-columns:1fr 1.35fr 1fr;column-gap:10px;padding:14px 12px}.player-controls button{min-height:46px;padding:10px 7px;font-size:12px}.player-controls .play{min-width:0}}

/* Booking */.booking-box{width:min(860px,100%)}.booking-head{margin:32px 0 24px}.booking-head>small,.booking-times>div>small{font-size:9px;letter-spacing:2px;color:#3199bd;font-weight:800}.booking-head h1{margin:6px 0 8px}.booking-chooser{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f6fbfd;padding:20px;border-radius:16px}.booking-chooser label{margin:0}.booking-times{margin-top:28px;border-top:1px solid #e2edf0;padding-top:24px}.booking-times h2{margin:5px 0}.booking-times p{margin:4px 0}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.time-grid button{width:100%;background:#fff;color:#2388aa;border:1px solid #bcdde7;border-radius:10px;padding:13px 8px}.time-grid button:hover{background:#eaf7fa}.booking-note{font-size:12px!important;margin-top:14px!important}.no-times{margin-top:18px;padding:20px;background:#f6f8f8;border-radius:12px;color:#687c82}.booking-confirm{text-align:center;padding:42px 20px;background:#f1faf5;border-radius:18px}.booking-confirm>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#d9f1e3;color:#23815c;font-size:24px}.booking-confirm h2{margin:8px 0}.booking-confirm .linkbtn{display:inline-block;margin-top:12px}@media(max-width:650px){.booking-chooser{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(2,1fr)}}
.booking-review{margin-top:28px;padding:28px;background:#f6fbfd;border:1px solid #dce9ed;border-radius:18px}.booking-review>small{font-size:9px;letter-spacing:2px;color:#3199bd;font-weight:800}.booking-review h2{margin:6px 0 22px}.review-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-details div{background:#fff;border:1px solid #e0ecef;border-radius:12px;padding:15px}.review-details span,.review-details strong{display:block}.review-details span{font-size:11px;color:#71878e;margin-bottom:4px}.review-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px}.review-change{color:#5f7881;font-weight:700;text-decoration:none}.review-actions form{margin:0}.review-actions button{min-width:180px}@media(max-width:650px){.review-details{grid-template-columns:1fr}.review-actions{align-items:stretch;flex-direction:column-reverse}.review-actions form,.review-actions button{width:100%}.review-change{text-align:center}}
/* Account bookings */.account-bookings{margin:28px 0}.account-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.account-section-head small{font-size:9px;letter-spacing:2px;color:#3199bd;font-weight:800}.account-section-head h2{margin:4px 0 0}.account-section-head a{font-size:12px;color:#268db5;font-weight:700;text-decoration:none}.booking-group-title{font-size:12px;color:#687f87;text-transform:uppercase;letter-spacing:1.3px;margin:18px 0 9px}.account-booking{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;background:#f6fbfd;border:1px solid #e0edf0;border-radius:14px;padding:13px;margin:9px 0}.booking-date{width:48px;height:48px;background:#fff;border-radius:10px;display:grid;place-content:center;text-align:center}.booking-date strong{font-size:19px;line-height:18px}.booking-date span{font-size:8px;letter-spacing:1px;color:#489ab5}.booking-info strong,.booking-info span{display:block}.booking-info span{font-size:11px;color:#71878e;margin-top:4px}.booking-status{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#71878e}.booking-status.confirmed{color:#23815c}.account-empty{padding:20px;background:#f6fbfd;border-radius:12px;color:#71878e}.past-bookings{margin-top:16px}.past-bookings summary{cursor:pointer;color:#617b84;font-size:12px;font-weight:700}.account-booking.past{opacity:.7}@media(max-width:650px){.account-section-head{align-items:flex-start}.account-booking{grid-template-columns:48px 1fr}.booking-status{grid-column:2}}