
:root{--ink:#282538;--muted:#847f8f;--purple:#6e55a9;--lav:#e9e2f8;--line:#e9e7e4;--bg:#f8f7f4;--card:#fff;--shadow:0 18px 70px rgba(41,30,65,.06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ae93ed;outline-offset:2px}
svg{vertical-align:middle}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.045em}button{border:0}img{max-width:100%}.loading-screen{min-height:100vh;display:grid;place-content:center;text-align:center;gap:20px;color:var(--muted)}.brand-mark{background:#29233b;color:#eadcff;display:inline-grid;place-items:center;font-size:30px;border-radius:15px;width:46px;height:46px}
.top{height:83px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid #efedeb;position:sticky;z-index:30;top:0}.top-inner{max-width:1300px;margin:auto;height:100%;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:.13em;font-weight:800;white-space:nowrap}.logo .brand-mark{width:35px;height:35px;font-size:24px;border-radius:12px;letter-spacing:0}.toplinks{display:flex;gap:32px;align-items:center;color:#696475;font-size:14px;font-weight:600}.toplinks button{background:none;color:inherit;padding:8px 0}.toplinks button.active,.toplinks button:hover{color:#5c478f}.topactions{display:flex;align-items:center;gap:14px}.role-toggle{display:flex;align-items:center;background:#f2f0f4;padding:4px;border-radius:13px;white-space:nowrap}.role-toggle button{padding:11px 15px;color:#77718a;background:transparent;border-radius:10px;font-size:13px;font-weight:700}.role-toggle button.active{background:#fff;box-shadow:0 3px 12px #31294314;color:#4e3b7b}.avatar-btn{height:39px;width:39px;border-radius:50%;background:var(--lav);color:#674d95;font-weight:800}.container{max-width:1300px;margin:auto;padding:0 30px}.demo-banner{border-bottom:1px solid #ebe6dd;background:#fffaf2;color:#8b744a;text-align:center;font-size:12px;padding:9px 20px;font-weight:550}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-weight:800;font-size:11px;color:#9b7bcc}.page-title{font-size:clamp(29px,3vw,42px);line-height:1.1}.muted{color:var(--muted)}.small{font-size:13px}.btn{background:#28243a;color:#fff;border-radius:13px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:14px;transition:transform .15s,background .15s;min-height:47px}.btn:hover{background:#5a467e;transform:translateY(-1px)}.btn.secondary{background:#f0ebf7;color:#5b488e}.btn.secondary:hover{background:#e5dcf5}.btn.ghost{background:white;border:1px solid var(--line);color:#4e475a}.btn.outline{background:transparent;border:1px solid #d9d1e5;color:#564671}.btn.small-btn{padding:10px 15px;font-size:13px;min-height:40px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.icon-btn{height:39px;width:39px;display:grid;place-items:center;background:white;border:1px solid #eee9ee;color:#847592;border-radius:11px;font-size:19px}.icon-btn:hover,.icon-btn.selected{color:#a66183;background:#fff0f5}.chip{display:inline-flex;border-radius:10px;background:#f4f0fb;color:#7659a5;padding:7px 10px;font-size:12px;font-weight:700;gap:5px;align-items:center}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:26px}.section-head h2{font-size:27px;line-height:1.15}.section-head p{font-size:14px;color:var(--muted);margin-top:9px}
.hero{padding:58px 0 48px;background:linear-gradient(117deg,#f8f7f5,#f4f0fa 65%,#f9f3f0);overflow:hidden}.hero-flex{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:52px;min-height:450px}.hero h1{font-size:clamp(48px,5.2vw,72px);line-height:1.06;margin:22px 0;max-width:670px;letter-spacing:-.065em;font-weight:760}.serif{font-family:Georgia,Times,serif;font-style:italic;font-weight:400;letter-spacing:-.085em;color:#8769ad}.hero .desc{color:#767180;line-height:1.75;font-size:16px;max-width:450px}.hero-cta{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}.hero-art{height:460px;border-radius:32px;position:relative;background:linear-gradient(140deg,#e2d8ea,#f4e7e6 50%,#e4dbe9);overflow:hidden;box-shadow:var(--shadow)}.hero-art:after{content:"";position:absolute;width:450px;height:450px;border-radius:50%;left:25%;top:17%;border:1px solid #fff9}.hero-orb{position:absolute;width:300px;height:300px;border-radius:54% 46% 53% 47%;background:radial-gradient(circle at 28% 23%,#fff5,#dfc5d6 57%,#b69bcc);top:60px;left:25%;transform:rotate(-28deg);box-shadow:inset -22px -20px 55px #7d609433,20px 30px 70px #8e6f9c33}.hero-letter{position:absolute;left:26%;top:75px;color:#fff9;font:italic 270px Georgia,serif;transform:rotate(-18deg);z-index:1;text-shadow:1px 7px 23px #956b9d45}.floating{position:absolute;z-index:2;background:#fffc;backdrop-filter:blur(19px);border:1px solid #fff9;border-radius:18px;box-shadow:0 20px 30px #73637a1c;padding:16px}.float-one{top:55px;left:22px;width:196px}.float-two{right:20px;bottom:48px;width:220px}.float-three{bottom:50px;left:25px;width:125px;text-align:center}.float-top{display:flex;gap:11px;align-items:center}.mini-circle{width:38px;height:38px;display:grid;place-items:center;background:#ebdef4;color:#7a579c;border-radius:12px;font-size:19px}.float-title{font-size:12px;font-weight:800}.float-caption{font-size:10px;color:#968b9b;margin-top:4px}.float-number{font-size:24px;font-weight:800;letter-spacing:-.05em}.stars{color:#b68a5b}.trust{display:flex;gap:28px;margin-top:35px;flex-wrap:wrap}.trust-item{font-size:12px;color:#777082}.trust-item strong{display:block;color:#343046;font-size:17px;letter-spacing:-.02em;margin-bottom:3px}
.content-section{padding:48px 0}.search-bar{max-width:830px;display:flex;gap:8px;background:#fff;padding:7px;border-radius:17px;border:1px solid #eee8ef;box-shadow:0 8px 33px #493c6410;margin:0 0 25px}.search-bar input{flex:1;min-width:0;padding:13px 18px;border:0;background:transparent;outline:none;color:var(--ink);font-size:15px}.filter-row{display:flex;gap:9px;overflow:auto;padding:0 0 12px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter{white-space:nowrap;background:#fff;border:1px solid #eae6ee;border-radius:40px;color:#6f6777;padding:12px 17px;font-size:13px;font-weight:650}.filter.active{background:#29243d;color:white;border-color:#29243d}.filter span{margin-right:7px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:14px}.master-card{background:#fff;border:1px solid #efebec;border-radius:22px;overflow:hidden;box-shadow:0 5px 23px #3c34500b;transition:transform .2s,box-shadow .2s}.master-card:hover{transform:translateY(-3px);box-shadow:0 17px 36px #3c345018}.card-visual{height:179px;position:relative;overflow:hidden;display:grid;place-items:center}.card-visual .big-glyph{font-size:105px;opacity:.35;font-family:Georgia,serif;font-weight:400;transform:rotate(-10deg)}.card-visual .initial-disc{position:absolute;width:112px;height:112px;border:2px solid #fff8;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:36px;font-style:italic;color:#473d4f;background:#ffffff6b;box-shadow:inset 0 2px 30px #fff7}.card-visual .save{position:absolute;top:13px;right:13px;border:0}.theme-nails{background:linear-gradient(125deg,#f2dacf,#f8e8df 55%,#d9bfb7)}.theme-barber{background:linear-gradient(125deg,#c8d6d2,#e9e7db 55%,#afbeb7)}.theme-brows{background:linear-gradient(125deg,#d9c8dd,#efdfed 60%,#bca9c6)}.theme-hair{background:linear-gradient(125deg,#e3d1b4,#f9e6cd 60%,#c5ab89)}.theme-skin{background:linear-gradient(125deg,#dbdfd5,#f3e8de 60%,#b9c9bc)}.theme-massage{background:linear-gradient(125deg,#c9d2d6,#ede5e0 65%,#c4c0cd)}.theme-makeup{background:linear-gradient(125deg,#f5d9e6,#e3cfe1 70%,#f1e3df)}.theme-depilation{background:linear-gradient(125deg,#e3dcc9,#f0e7dc 65%,#d6cac1)}.card-body{padding:19px 19px 21px}.card-topline{display:flex;justify-content:space-between;color:#9d8eac;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;gap:8px}.rating{color:#a98747;white-space:nowrap;letter-spacing:0;font-size:12px}.card-body h3{font-size:19px;margin:12px 0 4px;letter-spacing:-.035em}.card-body .area{font-size:12px;color:#8a8591}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #f0edf0;margin-top:17px;padding-top:15px}.price{font-size:17px;font-weight:800}.price small{font-size:11px;color:#968f9b;font-weight:500}.text-link{background:transparent;color:#6e55a9;font-size:13px;font-weight:800;padding:10px 0}.empty{padding:50px 25px;text-align:center;border:1px dashed #ddd5e7;background:#fff;border-radius:20px;color:#8a8395}
.value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:25px 0 70px}.value-item{background:#fff;border-radius:20px;border:1px solid #f0ebec;padding:26px}.value-icon{width:44px;height:44px;background:#f3edfa;color:#805db6;display:grid;place-items:center;font-size:22px;border-radius:13px;margin-bottom:14px}.value-item h3{font-size:18px;margin-bottom:7px}.value-item p{color:#88828e;font-size:13px;line-height:1.7}
.dashboard{padding:40px 0 80px}.dashboard-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px;flex-wrap:wrap}.dashboard h1{font-size:clamp(30px,4vw,44px);margin:8px 0}.dash-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px}.panel{background:#fff;border-radius:22px;border:1px solid #eee9ed;box-shadow:0 7px 24px #45344a0a;padding:25px}.panel h2{font-size:20px;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px}.stat{background:#fff;padding:21px 23px;border:1px solid #eee9ef;border-radius:18px}.stat small{color:#88808e;font-size:12px}.stat strong{display:block;font-size:30px;margin-top:7px;letter-spacing:-.06em}.stat em{font-style:normal;font-size:12px;color:#6e55a9}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0 26px}.day{border:1px solid #ebe6f0;border-radius:12px;padding:12px 2px;background:white;text-align:center;color:#70667c}.day b{display:block;font-size:17px;margin-top:7px}.day small{font-size:11px}.day.active{background:#30283d;color:#fff;border-color:#30283d}.appointments{display:flex;flex-direction:column;gap:10px}.appt{display:grid;grid-template-columns:60px 5px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #f0ecf0;border-radius:15px;padding:13px 15px}.appt-time{font-size:14px;font-weight:800}.appt-line{background:#c9b5e5;border-radius:4px;height:39px}.appt h4{font-size:14px;margin-bottom:4px}.appt p{font-size:12px;color:#89818d}.appt .cancel{border:0;background:#f8edf1;color:#a25c7a;padding:9px;border-radius:9px;font-size:12px;font-weight:700}.appt .status{font-size:12px;color:#746483;background:#f4effa;padding:7px 10px;border-radius:8px}.side-note{background:#f7f2fc;border-radius:14px;padding:19px;margin-top:20px}.side-note p{font-size:12px;line-height:1.7;color:#7e718f;margin:8px 0 14px}.service-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #f1edf0}.service-line:last-child{border:0}.service-line h4{font-size:13px}.service-line span{color:#88808f;font-size:12px}.svc-price{white-space:nowrap;font-weight:800;font-size:14px}.select{border:1px solid #e8e2ed;border-radius:12px;padding:12px 14px;background:white;min-width:185px;color:#564866;max-width:100%}.heading-sub{font-size:13px;color:#8d8692;margin-top:5px}
.mode-enter{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:50px 20px;background:radial-gradient(circle at 80% 20%,#e9e0f388,transparent 42%),#f8f7f4}.enter-panel{background:white;border-radius:28px;border:1px solid #efeaf1;box-shadow:0 35px 90px #37294712;max-width:680px;width:100%;padding:42px;text-align:center}.enter-panel h1{font-size:38px;margin:16px 0 11px}.enter-panel>p{color:#88808f;line-height:1.6}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px}.choice{background:#fcfafc;border:1px solid #e9e3ed;border-radius:18px;text-align:left;padding:24px;transition:.15s}.choice:hover{border-color:#b8a3d3;background:#f8f4fc;transform:translateY(-2px)}.choice .choice-icon{font-size:26px;display:grid;place-items:center;width:51px;height:51px;background:#efe8fa;border-radius:14px;margin-bottom:18px}.choice h3{font-size:19px;margin-bottom:8px}.choice p{font-size:12px;color:#827b8b;line-height:1.6}.choice strong{display:block;font-size:13px;color:#7056a2;margin-top:22px}
.back-link{background:transparent;color:#776788;font-size:13px;font-weight:700;margin-top:26px}
.modal-backdrop{position:fixed;inset:0;background:#20192cb8;backdrop-filter:blur(6px);z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}.modal{position:relative;background:#fff;border-radius:25px;width:min(900px,100%);max-height:min(94vh,920px);overflow:auto;box-shadow:0 34px 100px #17102155}.modal-close{position:sticky;float:right;top:15px;right:15px;z-index:2;background:#fff;border:1px solid #eae6ec;border-radius:50%;width:37px;height:37px;color:#61556e;font-size:19px}.modal-layout{display:grid;grid-template-columns:310px 1fr;min-height:490px}.modal-info{background:#f7f2f5;padding:34px;border-radius:25px 0 0 25px}.modal-info .card-visual{border-radius:15px;margin-bottom:23px}.modal-info h2{font-size:29px;margin:7px 0}.modal-info p{font-size:13px;color:#7f7484;line-height:1.6}.modal-main{padding:38px 34px}.modal-main h3{font-size:23px;margin-bottom:17px}.field-label{font-weight:800;font-size:13px;margin:21px 0 11px;display:block}.service-options{display:grid;gap:9px}.service-option{background:#fff;border:1px solid #eae6ee;border-radius:13px;display:flex;gap:8px;align-items:center;justify-content:space-between;text-align:left;padding:13px 16px}.service-option.active{border-color:#9676c3;background:#f9f5ff}.service-option strong{font-size:13px}.service-option small{display:block;color:#8c8491;font-size:11px;margin-top:5px}.service-option b{white-space:nowrap;font-size:14px}.date-row,.time-grid{display:flex;gap:7px;overflow:auto;padding-bottom:9px}.date-option,.time-option{padding:12px 11px;border:1px solid #e7e1eb;border-radius:11px;background:#fff;text-align:center;min-width:69px;color:#645b6d;font-size:12px}.date-option b{display:block;font-size:18px;margin-top:4px}.date-option.active,.time-option.active{background:#30283d;border-color:#30283d;color:#fff}.time-grid{flex-wrap:wrap}.time-option{min-width:72px}.field{width:100%;border:1px solid #e6dfea;border-radius:12px;padding:14px 15px;outline:none;background:#fff;color:#333}.booking-summary{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px;gap:15px}.booking-summary strong{font-size:23px}.booking-summary small{font-size:11px;color:#9a919f}.booking-error{font-size:12px;color:#ba5172;margin-top:9px;min-height:14px}
.client-layout{display:grid;grid-template-columns:235px 1fr;gap:28px}.client-nav{background:white;border:1px solid #eee8ee;border-radius:18px;padding:15px;align-self:start}.client-nav button{display:block;width:100%;text-align:left;background:transparent;border-radius:10px;padding:14px;color:#847b8c;font-size:14px;font-weight:700}.client-nav button.active{background:#f1ebf8;color:#7050a0}.appt-client{display:grid;grid-template-columns:66px 1fr auto;gap:15px;align-items:center;border-bottom:1px solid #f1edf0;padding:17px 0}.appt-client:last-child{border:0}.appt-client .thumb{height:60px;width:60px;border-radius:13px;display:grid;place-items:center;font:italic 22px Georgia;color:#4a3b5b}.appt-client h4{font-size:15px}.appt-client p{font-size:12px;color:#8e8794;margin-top:5px}.appt-client button{background:#fff0f3;border-radius:10px;color:#9c596f;padding:11px;font-weight:700;font-size:12px}
.assistant-bubble{position:fixed;bottom:25px;right:27px;z-index:40;width:62px;height:62px;border-radius:20px;background:#28223b;color:white;font-size:29px;box-shadow:0 13px 45px #4f3b6d60}.assistant-panel{position:fixed;bottom:99px;right:27px;z-index:70;background:white;box-shadow:0 25px 70px #241c3540;width:min(390px,calc(100vw - 30px));height:min(550px,calc(100vh - 140px));border:1px solid #ebe6ed;border-radius:22px;display:flex;flex-direction:column;overflow:hidden}.assistant-head{padding:19px;background:#2d263e;color:white;display:flex;align-items:center;justify-content:space-between}.assistant-head b{display:block}.assistant-head span{font-size:11px;color:#d3c7e0}.assistant-head button{background:#ffffff25;color:white;border-radius:9px;padding:5px 9px}.messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:18px;background:#faf8fc}.message{font-size:13px;line-height:1.6;border-radius:14px;padding:12px 15px;max-width:88%;background:white;align-self:flex-start;border:1px solid #f1ebf3}.message.mine{background:#e8ddfa;align-self:flex-end;border:0}.assistant-input{display:flex;gap:8px;padding:13px;background:white;border-top:1px solid #efeaf0}.assistant-input input{flex:1;min-width:0;border:1px solid #e8e1ed;border-radius:10px;padding:10px 12px}.assistant-input button{background:#30283d;color:white;border-radius:10px;padding:0 14px}.disclaimer{font-size:10px;color:#9e93a7;text-align:center;background:white;padding:0 10px 10px}
footer{border-top:1px solid #eae6e8;padding:25px 0 85px;color:#88828d;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,35px);opacity:0;pointer-events:none;background:#2b243a;color:white;padding:14px 20px;z-index:120;border-radius:13px;box-shadow:0 12px 40px #271d3666;max-width:calc(100vw - 40px);font-size:13px;text-align:center;transition:opacity .2s,transform .2s}#toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:1080px){.card-grid{grid-template-columns:repeat(3,1fr)}.hero-flex{gap:25px}.hero-art{height:415px}.toplinks{display:none}.dash-layout{grid-template-columns:1fr}.side-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side-dashboard .panel{min-width:0}}
@media(max-width:760px){.top{height:70px}.top-inner{padding:0 16px;gap:7px}.logo{font-size:17px;letter-spacing:.11em}.logo .brand-mark{width:31px;height:31px}.role-toggle button{padding:9px 10px;font-size:11px}.avatar-btn{width:33px;height:33px}.container{padding:0 17px}.hero{padding:33px 0}.hero-flex{grid-template-columns:1fr;gap:29px}.hero h1{font-size:clamp(43px,10vw,57px);margin:14px 0}.hero .desc{font-size:14px}.hero-art{height:280px;border-radius:23px}.hero-orb{width:205px;height:205px;left:32%;top:31px}.hero-letter{font-size:190px;top:25px;left:29%}.floating{transform:scale(.73)}.float-one{top:6px;left:-24px}.float-two{right:-29px;bottom:4px}.float-three{left:-20px;bottom:-15px}.trust{gap:18px;margin-top:24px}.trust-item strong{font-size:15px}.content-section{padding:37px 0}.section-head h2{font-size:24px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-visual{height:139px}.card-visual .initial-disc{width:86px;height:86px;font-size:28px}.card-body{padding:13px}.card-body h3{font-size:16px}.card-topline{font-size:9px}.card-bottom{display:flex;align-items:end}.price{font-size:15px}.price small{display:block;font-size:9px}.text-link{font-size:11px}.value-strip{grid-template-columns:1fr;padding-bottom:40px}.value-item{padding:20px}.dashboard{padding:28px 0 50px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.week{gap:4px}.day{padding:10px 2px}.day small{font-size:9px}.day b{font-size:14px}.panel{padding:18px}.dash-layout{gap:14px}.side-dashboard{grid-template-columns:1fr}.client-layout{grid-template-columns:1fr;gap:14px}.client-nav{display:flex;gap:4px;overflow:auto;padding:7px}.client-nav button{white-space:nowrap;text-align:center;padding:11px}.modal{max-height:93vh}.modal-layout{grid-template-columns:1fr}.modal-info{padding:17px;border-radius:25px 25px 0 0}.modal-info .card-visual{display:none}.modal-info h2{font-size:24px}.modal-main{padding:22px 18px}.modal-main h3{font-size:21px}.modal-close{top:9px;right:9px}.choice-grid{gap:9px}.enter-panel{padding:30px 20px}.enter-panel h1{font-size:29px}.choice{padding:18px 13px}.choice h3{font-size:16px}.choice p{font-size:11px}.assistant-bubble{height:53px;width:53px;bottom:16px;right:16px;border-radius:16px}.assistant-panel{right:15px;bottom:81px}.search-bar input{padding:10px}.search-bar .btn{padding:12px}footer{padding-bottom:80px}}
@media(max-width:390px){.card-grid{grid-template-columns:1fr 1fr;gap:8px}.card-body{padding:11px}.topactions{gap:7px}.logo{font-size:15px}.role-toggle button{padding:9px 7px}.card-visual{height:116px}.card-body h3{font-size:14px}.card-bottom{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* SFERA / compact, fixed-width design system · 03 Nov 2026 */
html{overflow-x:hidden;scroll-behavior:smooth}body{overflow-x:clip}button,select,input{min-width:0}button{touch-action:manipulation}
:root{--ink:#302a3d;--muted:#77717e;--purple:#68558d;--lav:#f0eaf7;--line:#ece8ef;--shadow:0 13px 42px rgba(45,33,60,.045)}
.brand-mark{flex:0 0 auto}.top .logo{display:inline-flex;align-items:center}.top-inner{gap:16px}.toplinks{gap:26px}.topactions{flex-shrink:0}.top .role-toggle{border:1px solid #eae6f0;background:#f5f3f7}.toplinks button{font-weight:650}
.demo-banner{padding:7px 12px;background:#faf8fd;border-color:#f1edf5;color:#857396;font-size:11px;letter-spacing:.01em}
.btn{border-radius:12px;min-height:43px;padding:12px 18px;white-space:normal;line-height:1.3;text-align:center}.btn.small-btn{min-height:39px}.choice{height:100%;display:flex;flex-direction:column;align-items:flex-start}.choice strong{margin-top:auto;padding-top:22px}
.card-grid{align-items:stretch;grid-auto-rows:1fr}.master-card{height:100%;display:flex;flex-direction:column;min-width:0}.card-body{display:flex;flex-direction:column;flex:1;min-width:0}.card-body h3{overflow-wrap:anywhere}.card-topline{min-height:19px;align-items:center}.card-topline>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-body .area{line-height:1.5;min-height:27px}.card-bottom{margin-top:auto;min-height:60px;padding-top:13px}.price{white-space:nowrap}.card-bottom .text-link{white-space:nowrap}.card-visual{flex-shrink:0}
.dashboard{min-width:0}.dash-layout{min-width:0}.dash-layout>*{min-width:0}.panel{min-width:0;overflow:hidden}.side-dashboard{min-width:0}.dashboard-header>div{min-width:0}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.appt{grid-template-columns:58px 4px minmax(0,1fr) auto;min-width:0;gap:12px}.appt>div:nth-child(3){min-width:0;overflow-wrap:anywhere}.appt p{line-height:1.5}.appt-client{grid-template-columns:58px minmax(0,1fr) auto;min-width:0}.appt-client>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.appt-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.appt-actions button{border-radius:9px;padding:9px 10px;font-size:12px;font-weight:700;white-space:nowrap}.appt .cancel,.appt-client .cancel{background:#fcf0f2;color:#af667c}.reschedule-btn{background:#efeafb;color:#6a5590}.appt .reschedule-btn:hover{background:#e5d9fa}
.calendar-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 0 12px;min-width:0}.calendar-month{text-transform:capitalize;font-size:14px;font-weight:800;letter-spacing:-.01em}.calendar-controls{display:flex;align-items:center;gap:6px}.cal-arrow{height:36px;width:38px;min-width:38px;border:1px solid #e8e1ed;background:#fff;border-radius:10px;color:#67517f;font-size:25px;line-height:1;display:grid;place-items:center}.cal-arrow:hover:not(:disabled){background:#f1eaf8}.cal-arrow:disabled{opacity:.28;cursor:not-allowed}.date-jump{display:inline-flex;align-items:center;position:relative;height:36px;background:#f4eff8;border:1px solid #e8e0ee;border-radius:10px;color:#614e7b;padding:0 8px;overflow:hidden;gap:2px;font-size:18px;width:78px;cursor:pointer}.date-jump:focus-within{outline:2px solid #af9ace}.date-jump input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;color:transparent}.date-jump:after{content:"Дата";font-size:11px;font-weight:800}
.week-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-width:0;margin:2px 0 21px}.week-rail .day{min-width:0;border-radius:11px;min-height:61px}.week-rail .day b{font-size:18px}.week-rail .day small{text-transform:uppercase;letter-spacing:.04em}.booking-date-nav{width:100%;min-width:0;max-width:100%;border:1px solid #f0eaf0;border-radius:14px;background:#faf8fb;padding:12px}.booking-date-nav .calendar-tools{padding:0 0 12px}.booking-date-nav .week-rail{margin:0;gap:6px}.booking-date-nav .day{background:#fff}.booking-date-nav .day.active{background:#30283d}.booking-date-nav .day{min-height:53px;padding:8px 0}.booking-date-nav .day b{font-size:16px;margin-top:4px}
.modal-backdrop{padding:16px;align-items:center}.modal{width:min(830px,calc(100vw - 32px));height:min(720px,calc(100dvh - 38px));min-height:0;max-height:720px;border-radius:24px;overflow:hidden;display:block}.modal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);height:100%;min-height:0}.modal-info{min-height:0;overflow:auto;padding:28px 24px}.modal-info .card-visual{height:156px}.modal-info h2{font-size:26px;overflow-wrap:anywhere}.modal-info .side-note{padding:15px}.modal-info .side-note p{line-height:1.5}.modal-main{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:27px 27px 22px}.modal-main h3{font-size:22px;margin-bottom:16px}.modal-main .field-label{margin:16px 0 9px}.modal-close{position:absolute;top:12px;right:12px;float:none;width:34px;height:34px;z-index:3;box-shadow:0 4px 14px #332a4313}.service-options{max-height:168px;overflow-y:auto;overscroll-behavior:contain;gap:7px}.service-option{min-width:0;padding:10px 12px}.service-option>span{min-width:0;max-width:100%}.service-option strong{overflow-wrap:anywhere}.service-option b{flex-shrink:0}.time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-height:123px;overflow-y:auto;overscroll-behavior:contain;gap:6px;padding:0 1px 6px}.time-option{min-width:0;padding:10px 5px}.booking-summary{position:sticky;bottom:-22px;background:linear-gradient(to top,#fff 83%,#fffffff2);z-index:2;padding:12px 0 4px;margin-top:10px}.booking-summary strong{font-size:21px}.modal-main .field{height:43px}.modal-main .booking-error{min-height:16px}
.bell-btn{position:relative;font-size:18px}.bell-btn i{width:8px;height:8px;position:absolute;top:6px;right:5px;border-radius:100%;background:#a55c76;border:2px solid white;box-sizing:content-box}
.notifications-backdrop{position:fixed;inset:0;background:#20192b18;z-index:48}.notifications-popover{position:fixed;right:max(16px,calc((100vw - 1300px)/2 + 26px));top:80px;z-index:49;background:white;width:min(380px,calc(100vw - 28px));max-height:min(540px,calc(100dvh - 110px));box-shadow:0 24px 90px #291c3c35;border:1px solid #ece6ee;border-radius:19px;padding:19px;display:flex;flex-direction:column;gap:12px}.notifications-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.notifications-title b{font-size:19px;letter-spacing:-.035em}.notifications-title p{font-size:12px;color:#847d8d;margin-top:4px}.notice-list{overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;min-height:0}.notice{display:flex;gap:12px;padding:13px;border:1px solid #f1edf0;border-radius:13px;align-items:flex-start}.notice.unread{background:#faf6ff;border-color:#eee5f6}.notice-symbol{height:35px;min-width:35px;border-radius:10px;background:#ede7f9;color:#6f5799;display:grid;place-items:center;font-size:19px}.notice strong{font-size:13px}.notice p{font-size:12px;line-height:1.55;color:#867d8c;margin-top:5px}.notice-read{align-self:stretch}
@media(min-width:761px){.hero{padding:46px 0}.hero-flex{min-height:410px}.hero-art{height:410px}}
@media(max-width:760px){
 .top-inner{padding:0 13px}.demo-banner{font-size:10px}.top .logo{font-size:15px}.topactions{gap:6px}.role-toggle button{font-size:11px;padding:8px 9px}.bell-btn{width:33px;height:33px}
 .hero-cta{display:flex;flex-wrap:nowrap;gap:8px}.hero-cta .btn{flex:1 1 auto;min-width:0;padding:11px 9px;font-size:12px}.hero-cta .btn:first-child{flex:1.6}
 .hero-flex{gap:26px}.hero-art{height:260px}.hero h1{font-size:clamp(40px,10.4vw,55px)}
 .section-head{align-items:flex-start}.section-head .chip{display:none}
 .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card-visual{height:126px}.card-body{padding:12px}.card-body h3{font-size:15px}.card-topline{font-size:9px}.card-bottom{gap:5px}.card-bottom .text-link{font-size:10px}.price{font-size:14px}.card-bottom .price small{font-size:9px}
 .dashboard-header>div:last-child{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px!important}.dashboard-header .select{min-width:0;width:100%;font-size:12px}.dashboard-header .btn{font-size:12px;padding:10px}
 .dashboard .stats{gap:7px}.dashboard .stat{padding:12px 10px;min-width:0}.dashboard .stat strong{font-size:20px;white-space:normal}.dashboard .stat small{font-size:10px;line-height:1.4}.dashboard .stat em{font-size:10px}
 .modal-backdrop{padding:10px}.modal{width:calc(100vw - 20px);height:min(770px,calc(100dvh - 20px));max-height:calc(100dvh - 20px);border-radius:20px;overflow-y:auto}.modal-layout{display:flex;flex-direction:column;height:auto;min-height:100%}.modal-info{height:auto;flex:none;padding:15px 18px;border-radius:20px 20px 0 0;overflow:visible}.modal-info .card-visual{display:none}.modal-info h2{font-size:21px;margin:4px 0}.modal-info .side-note{display:none}.modal-info .eyebrow{font-size:9px}.modal-info p{font-size:11px}.modal-info p:last-child{display:none}
 .modal-main{min-height:0;overflow:visible;padding:17px 18px 24px}.modal-main h3{font-size:19px;margin-bottom:12px}.modal-main .field-label{margin:13px 0 8px}.modal-close{top:10px;right:10px}
 .service-options{max-height:129px}.service-option{padding:9px 10px}.service-option strong{font-size:12px}.booking-date-nav{padding:10px}.calendar-tools{gap:6px}.calendar-month{font-size:13px}.cal-arrow{width:34px;min-width:34px;height:34px}.date-jump{width:69px;height:34px}
 .week-rail{gap:4px;margin:0 0 18px}.week-rail .day{min-height:51px;padding:7px 0}.week-rail .day small{font-size:9px}.week-rail .day b{font-size:14px}
 .time-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:100px}.time-option{padding:9px 4px}
 .booking-summary{position:relative;bottom:auto;margin-top:10px;padding:9px 0}.booking-summary .btn{min-width:140px}.notifications-popover{top:66px;right:12px}
 .appt,.appt-client{grid-template-columns:48px minmax(0,1fr);gap:8px}.appt{grid-template-columns:48px 4px minmax(0,1fr)}.appt .appt-actions,.appt-client .appt-actions{grid-column:1/-1;justify-content:flex-end}.appt .appt-actions{grid-column:3/-1}.appt-client .thumb{height:48px;width:48px}.appt>div:nth-child(3) h4{font-size:13px}.appt p,.appt-client p{font-size:11px}
 .panel{padding:16px}.side-dashboard .panel{padding:18px}.stat{border-radius:14px}
}
@media(max-width:390px){.card-grid{gap:8px}.card-visual{height:115px}.card-body{padding:10px}.card-body h3{font-size:13px}.card-bottom{flex-wrap:wrap;justify-content:space-between}.card-bottom .text-link{margin-left:auto}.hero-cta .btn{font-size:11px}.choice-grid{grid-template-columns:1fr}.choice{padding:15px}.choice .choice-icon{display:none}.enter-panel{padding:27px 20px}.choice strong{margin-top:5px;padding-top:5px}.stats .stat strong{font-size:18px}}

/* Pricing layout */
.plans-section{padding:45px 0 35px;scroll-margin-top:96px}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.plan-card{border:1px solid #eae6ed;border-radius:23px;padding:28px;background:white;display:flex;flex-direction:column;min-width:0;min-height:330px;box-shadow:0 7px 25px #51405c0a}.plan-card.featured{border:1px solid #bdabe1;background:linear-gradient(158deg,#f8f4ff,#fff 68%)}.plan-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.plan-label{font-size:12px;letter-spacing:.12em;font-weight:800;color:#63547c}.plan-label em{font-style:normal;letter-spacing:0;background:#eadffb;color:#6b4e99;border-radius:14px;padding:6px 10px;font-size:11px;margin-left:8px}.plan-price{font-weight:850;font-size:28px;letter-spacing:-.05em;white-space:nowrap}.plan-price small{font-weight:500;color:#8f8695;font-size:12px;letter-spacing:0}.plan-card h3{font-size:22px;margin-top:24px}.plan-intro{font-size:13px;color:#867c8d;margin-top:9px;line-height:1.65}.plan-card ul{list-style:none;margin:20px 0 12px;padding:0;display:grid;gap:11px}.plan-card li{font-size:13px;line-height:1.5;padding-left:23px;position:relative}.plan-card li:before{content:"✓";color:#7858a1;position:absolute;left:0;font-weight:800}.plan-footer{margin-top:auto;font-size:11px;color:#8b8091;line-height:1.5;padding-top:15px}.annual-note{background:#eee8f9;color:#584276;font-size:12px;line-height:1.5;padding:12px 14px;border-radius:12px}.annual-note strong{font-size:15px}
@media(max-width:760px){.plans-section{padding:32px 0}.plan-grid{grid-template-columns:1fr;gap:12px}.plan-card{min-height:0;padding:21px}.plan-card h3{font-size:21px;margin-top:17px}.plan-card ul{margin-top:17px}.plan-price{font-size:25px}}

.mobile-bottom-nav{display:none}
@media(max-width:760px){
 body{padding-bottom:69px}
 .mobile-bottom-nav{position:fixed;z-index:39;bottom:0;left:0;right:0;height:calc(63px + env(safe-area-inset-bottom,0px));padding:5px 8px env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;background:rgba(255,255,255,.98);border-top:1px solid #ece6ef;box-shadow:0 -5px 28px #291e4211;backdrop-filter:blur(16px)}
 .mobile-bottom-nav button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;border-radius:11px;background:transparent;color:#908596;font-size:10px;font-weight:720;padding:3px 0;min-width:0}
 .mobile-bottom-nav button.active{color:#65498e;background:#f3ecf9}
 .mobile-nav-icon{font-size:22px;height:25px;line-height:25px}
 .assistant-bubble{right:13px;bottom:79px;width:48px;height:48px;font-size:23px;box-shadow:0 10px 25px #2b223354}
 .assistant-panel{right:10px;bottom:135px;height:min(535px,calc(100dvh - 205px))}
 #toast{bottom:82px}
 footer{padding:25px 0 35px}
 .notifications-popover{max-height:calc(100dvh - 150px);top:72px}
}
