@charset "UTF-8";
:root{--paper:#f7f7f2;--white:#fff;--ink:#30372e;--muted:#6b7367;--sage:#7e8772;--dark:#48543f;--pale:#edf0e7;--line:#e6e8e0;--warm:#f2eee6;--danger:#99463b;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#eceee7;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a8b48e;outline-offset:3px}button,input,select{border-radius:10px}button{border:0;background:none}a{color:var(--dark)}[hidden]{display:none!important}svg{flex-shrink:0}button svg{pointer-events:none}.prototype-bar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:16px;border-bottom:1px solid #daddd2;background:#f6f7f1}.prototype-brand{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;white-space:nowrap}.prototype-brand>span:last-child{font-weight:400;color:var(--muted)}.prototype-dot{width:9px;height:9px;border-radius:50%;background:var(--sage)}.prototype-divider{margin:0 4px;color:#c2c7b8}.mode-switch{display:flex;background:#e8ebe2;padding:4px;border-radius:12px;gap:3px}.mode-switch button{padding:9px 20px;font-size:13px;color:#61695b}.mode-switch .active{background:#fff;color:var(--ink);box-shadow:0 1px 5px #30372e0b}.reset-button{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.client-workspace{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:minmax(230px,1fr) 440px minmax(180px,.75fr);align-items:start;gap:50px;padding:52px 50px 60px}.concept-panel{padding-top:44px;max-width:330px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:600;color:var(--muted);line-height:1.6}.concept-panel h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:40px;line-height:1.2;letter-spacing:-1.3px;margin:20px 0}.concept-panel h1 em{font-style:italic;color:#7c856e}.concept-description{font-size:14px;line-height:1.8;color:var(--muted);max-width:255px}.concept-rule{width:44px;height:1px;background:#aab29e;margin:36px 0}.concept-stages{display:grid;gap:23px}.concept-stage{display:flex;gap:13px;align-items:center;color:#899180}.concept-stage-number{height:30px;width:30px;border:1px solid #ced3c4;border-radius:50%;display:grid;place-items:center;font-size:11px}.concept-stage strong{font-size:13px;font-weight:500;display:block}.concept-stage small{font-size:11px;display:block;margin-top:4px}.concept-stage.current{color:var(--ink)}.concept-stage.current .concept-stage-number{background:var(--dark);color:white;border-color:var(--dark)}.concept-stage.done .concept-stage-number{background:#dde4d3;border-color:#dde4d3;color:var(--dark)}.concept-footnote{display:flex;gap:8px;margin-top:46px;font-size:11px;line-height:1.6;color:#69715e;max-width:265px}.small-dot{height:5px;width:5px;background:var(--sage);border-radius:100%;margin-top:6px;flex-shrink:0}.concept-footnote p{color:#7c8374;margin:6px 0 0}.phone-shell{background:var(--paper);border:1px solid #fff;border-radius:32px;box-shadow:0 16px 60px #38432c12,0 0 0 1px #d5dacb;overflow:hidden;min-height:820px;position:relative;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:27px 24px 24px;gap:16px}.app-header img{width:157px;height:auto;display:block}.app-badge{font-size:10px;color:var(--muted);border:1px solid #dce1d2;border-radius:20px;padding:7px 10px;white-space:nowrap}#client-screen{padding:5px 23px 22px;flex:1;outline:0}.page-kicker{color:var(--muted);font-size:11px;margin:0 0 9px}.page-heading{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:31px;letter-spacing:-.7px;line-height:1.2;margin:0 0 11px}.page-description{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 23px}.direction-tabs{display:flex;gap:5px;padding:4px;background:#e9ede2;border-radius:13px;margin-bottom:18px}.direction-tab{flex:1;padding:10px 6px;font-size:12px;color:var(--muted);border-radius:10px}.direction-tab.active{background:#fff;box-shadow:0 1px 4px #30372e08;color:var(--ink);font-weight:600}.specialist-strip{display:flex;align-items:center;gap:12px;padding:14px;background:#efefe8;border:1px solid #e7e8dd;border-radius:var(--radius);margin-bottom:21px}.avatar{height:43px;width:43px;border-radius:50%;display:grid;place-items:center;font-size:21px;font-family:Georgia,serif;color:#68765b;background:#dce3d1;flex-shrink:0}.avatar.anna{background:#e8ded7;color:#8b6e61}.avatar.emma{background:#dde5df;color:#637e6a}.specialist-copy{flex:1}.specialist-copy strong{font-size:13px;font-weight:600;display:block;margin-bottom:4px}.specialist-copy span{font-size:10px;color:var(--muted);display:block}.text-button{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--muted);padding:6px 0}.section-label{display:flex;justify-content:space-between;align-items:center;margin:0 0 5px;font-size:11px;color:var(--muted)}.section-label span{font-size:10px}.services-list{display:grid}.service-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 0;border-bottom:1px solid var(--line);border-radius:0}.check-box{height:22px;width:22px;border:1px solid #cbd2c0;border-radius:7px;display:grid;place-items:center;color:transparent;background:#fff;flex-shrink:0}.service-row.selected .check-box{border-color:var(--dark);background:var(--dark);color:#fff}.service-name{display:block;font-size:12px;line-height:1.5;font-weight:500}.service-meta{display:block;color:var(--muted);font-size:10px;margin-top:4px}.service-copy{flex:1}.service-price{font-size:12px;white-space:nowrap;font-weight:500}.consultation-link{display:flex;align-items:center;gap:9px;padding:14px 0 0;width:100%;text-align:left;font-size:11px;color:var(--muted);line-height:1.5}.consultation-link strong{font-weight:500;color:var(--ink)}.booking-footer{margin-top:23px;padding-top:3px}.selection-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;color:var(--muted)}.selection-summary strong{color:var(--ink);font-size:15px;font-weight:600}.primary-button{width:100%;min-height:48px;padding:13px 17px;background:var(--dark);color:#fff;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.1px}.primary-button:disabled{background:#dce1d3;color:#899180}.secondary-button{width:100%;min-height:44px;border:1px solid #d8ddce;border-radius:12px;font-size:12px;padding:10px 15px;color:var(--dark)}.button-row{display:flex;gap:10px}.bottom-nav{display:flex;padding:13px 13px 16px;background:#fdfdf9;border-top:1px solid #e3e7da;gap:6px}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;font-size:10px;color:#7b8373;padding:7px 2px;border-radius:12px;position:relative}.nav-item.active{color:var(--dark);background:#edf0e5}.nav-count{position:absolute;top:0;right:27px;font-size:8px;background:#667956;color:#fff;border-radius:10px;min-width:14px;line-height:14px}.detail-panel{padding-top:108px;max-width:230px}.detail-title{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin-bottom:14px}.detail-panel h2{font-family:Georgia,serif;font-size:24px;line-height:1.3;font-weight:400;margin:0 0 16px}.detail-panel p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 16px}.detail-card{padding:18px;border:1px solid #d4dac9;border-radius:16px;margin-top:24px}.detail-card strong{display:block;font-size:12px;margin-bottom:7px;font-weight:500}.detail-card p{font-size:11px;line-height:1.7;margin:0}.detail-marker{display:block;font-size:28px;font-family:Georgia,serif;color:#9ca58e;margin-bottom:12px}.back-button{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);padding:4px 0 17px}.summary-card{background:#eeefe7;border:1px solid #e1e5d7;border-radius:16px;padding:15px;margin:16px 0 22px}.summary-card .summary-service{font-size:12px;font-weight:500;line-height:1.6}.summary-card .summary-meta{margin-top:7px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.calendar-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;margin-bottom:12px}.calendar-arrows{display:flex;gap:6px}.icon-button{height:29px;width:29px;border:1px solid #d9dfcf;border-radius:9px;display:grid;place-items:center}.icon-button:disabled{opacity:.35}.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:23px}.date-button{border:1px solid #e2e5da;display:flex;flex-direction:column;align-items:center;gap:9px;padding:11px 1px;border-radius:13px;background:#fdfdf8}.date-button span{font-size:9px;color:var(--muted);text-transform:lowercase}.date-button strong{font-size:16px;font-weight:500}.date-button.active{background:var(--dark);border-color:var(--dark);color:#fff}.date-button.active span{color:#dce4d2}.time-label{font-size:11px;font-weight:500;margin:16px 0 10px}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-button{height:39px;border:1px solid #dfe4d4;background:#fdfdf9;font-size:12px;border-radius:10px}.slot-button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.time-hint{font-size:10px;color:var(--muted);margin:15px 0 0;line-height:1.7}.empty-state{text-align:center;padding:40px 15px}.empty-icon{display:grid;place-items:center;margin:0 auto 22px;height:65px;width:65px;border-radius:50%;background:#e8ede0;color:var(--dark)}.empty-state h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:0 0 12px}.empty-state p{color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:25px}.field-label{display:block;font-size:11px;font-weight:500;margin:19px 0 8px}.text-field{width:100%;height:47px;background:#fff;border:1px solid #dce1d2;border-radius:12px;padding:0 13px;font-size:13px;color:var(--ink)}.text-field::placeholder{color:#a1a79a}.form-note{font-size:10px;line-height:1.7;color:var(--muted);margin:12px 0 22px}.form-error{font-size:12px;line-height:1.6;color:var(--danger);background:#f7eae5;border-radius:10px;padding:10px 12px;margin:12px 0}.visit-detail-list{display:grid;gap:12px}.visit-detail-line{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6}.visit-detail-line svg{margin-top:2px;color:#79856d}.visit-price{display:flex;justify-content:space-between;border-top:1px solid #dce1d1;margin-top:15px;padding-top:13px;font-size:12px}.visit-price strong{font-size:17px;font-weight:500}.success-screen{padding-top:19px}.success-check{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:#e4ebd9;color:var(--dark);margin-bottom:22px}.success-caption{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 22px}.success-screen .secondary-button{margin-top:9px}.visit-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin-top:14px}.visit-card.cancelled{opacity:.65}.visit-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:14px}.status-badge{font-size:9px;background:#edf2e5;color:#647552;padding:5px 8px;border-radius:20px}.status-badge.cancelled{color:#7b716d;background:#f0ece9}.visit-card h3{font-size:14px;font-weight:500;line-height:1.6;margin:0 0 5px}.visit-card-sub{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.visit-card-price{font-size:13px;margin-top:12px;display:flex;justify-content:space-between}.visit-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:13px;margin-top:15px}.visit-actions button{font-size:11px;border:1px solid #dde2d3;padding:8px 13px;border-radius:9px}.visit-actions button.danger{border-color:#eadfd9;color:var(--danger)}.cancel-confirm{padding:12px 0 0;font-size:11px;line-height:1.7;color:var(--danger)}.cancel-confirm .button-row{margin-top:10px}.specialist-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;margin-top:14px}.specialist-card-top{display:flex;align-items:center;gap:13px}.specialist-card h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 4px}.specialist-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.specialist-card .avatar{height:53px;width:53px;font-size:27px}.specialist-card .secondary-button{margin-top:18px;display:flex;align-items:center;justify-content:space-between}.small-label{font-size:10px;color:var(--muted);margin:17px 0 0;line-height:1.7}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);max-width:calc(100vw - 32px);padding:13px 20px;background:#303b29;color:white;border-radius:13px;font-size:12px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50;box-shadow:0 6px 25px #30372e20}.toast.visible{opacity:1;transform:translate(-50%,0)}#admin-workspace{max-width:1400px;margin:auto;padding:32px 38px 60px}.date-highlight{color:var(--dark);font-weight:500}.visits-divider{font-size:11px;color:var(--muted);margin-top:25px}.review-price-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:10px}.inline-badge{font-size:9px;color:#7b856d;background:#e9eedf;padding:4px 7px;border-radius:7px;margin-left:7px}
@media(min-width:1500px){.client-workspace{padding-top:68px;gap:70px}.phone-shell{min-height:850px}}
@media(max-width:1200px){.client-workspace{grid-template-columns:minmax(200px,1fr) 420px;gap:40px;padding:40px}.detail-panel{display:none}.concept-panel h1{font-size:35px}.phone-shell{min-height:810px}}
@media(max-width:780px){.prototype-bar{padding:0 16px;height:60px;gap:8px}.prototype-brand{font-size:11px}.prototype-brand>span:last-child{display:none}.prototype-divider{display:none}.mode-switch button{font-size:11px;padding:8px 10px}.reset-button{font-size:10px}.client-workspace{display:block;padding:24px 15px;max-width:470px}.concept-panel{display:none}.phone-shell{min-height:calc(100dvh - 108px);border-radius:26px}.app-header{padding-top:24px}.detail-panel{display:none}#admin-workspace{padding:22px 16px 40px}}
@media(max-width:480px){body{background:var(--paper)}.client-workspace{padding:0;width:100%;max-width:none}.phone-shell{border:0;box-shadow:none;border-radius:0;min-height:calc(100dvh - 60px)}.prototype-bar{height:56px;border-color:#e3e7d9}.prototype-brand{font-size:10px;gap:5px}.mode-switch{padding:3px}.mode-switch button{padding:7px 9px;font-size:10px}.reset-button{font-size:9px}.app-header{padding:23px 22px 22px}#client-screen{padding:6px 22px 22px}.page-heading{font-size:30px}.bottom-nav{position:sticky;bottom:0;padding-bottom:max(10px,env(safe-area-inset-bottom));z-index:5}.app-badge{font-size:9px}.toast{bottom:90px;min-width:250px;text-align:center}.service-row{padding:15px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:480px){
  .bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(76px + env(safe-area-inset-bottom));padding:9px 13px calc(10px + env(safe-area-inset-bottom));z-index:10}
  #client-screen{padding-bottom:100px}
  #client-screen.with-booking-footer{padding-bottom:220px}
  .booking-footer{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:0;right:0;margin:0;padding:12px 22px 15px;background:var(--paper);border-top:1px solid var(--line);z-index:9}
  .booking-footer .selection-summary{margin-bottom:10px}
  .booking-actions-visible .toast{bottom:205px}
}
.applied-promo{font-size:10px;color:#657b4c;margin:7px 0 0;line-height:1.6}
.service-price s{font-size:9px;color:#89917f;font-weight:400}
.day-availability{width:4px;height:4px;background:#d3d8cb;border-radius:50%;display:block}
.day-availability.open{background:#8b9c74}.date-button.active .day-availability.open{background:#dbe4d0}
.account-line{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:var(--muted);padding:5px 0 15px;border-bottom:1px solid var(--line);line-height:1.6}
.demo-auth-note{font-size:11px;line-height:1.8;padding:15px;border:1px solid #dce3d0;background:#edf1e6;border-radius:13px;color:var(--muted);margin-bottom:20px}
.otp-field{font-size:25px;letter-spacing:10px;text-align:center;height:58px;margin-bottom:20px}.resend-button{display:block;margin:18px auto 0}.resend-button:disabled{opacity:.55}
.success-screen .secondary-button{margin-top:10px}
.admin-sections{display:flex;align-items:center;gap:6px;padding:5px;background:#e1e6d8;border-radius:14px;max-width:650px;margin:0 auto 22px}
.admin-sections button{flex:1;min-height:43px;font-size:13px;padding:10px;border-radius:10px;color:#606d52;white-space:nowrap}.admin-sections button.active{background:#fff;color:#30372e;box-shadow:0 1px 5px #30372e09}.admin-sections button span{font-size:10px;border-radius:20px;background:#ecf0e3;padding:3px 7px;margin-left:4px}
.service-selection-screen .direction-tabs{margin-bottom:12px}
.service-selection-screen .specialist-strip{padding:10px 12px;margin-bottom:16px}
.service-selection-screen .specialist-strip .avatar{width:36px;height:36px;font-size:20px}
.service-selection-screen .service-row.selected{background:#edf1e6;padding-left:10px;padding-right:10px;border-radius:12px;border-color:#d4ddc9}
.service-selection-screen .page-heading{margin-bottom:8px}
.service-selection-screen .page-description{margin-bottom:17px}
.service-selection-screen .selection-summary{font-size:12px}
.service-selection-screen .selection-summary strong{font-size:18px}
@media(max-width:480px){.prototype-bar{height:48px}.phone-shell{min-height:calc(100dvh - 48px)}.app-header{padding-top:18px;padding-bottom:14px}.app-header img{width:145px}}
@media(max-width:480px){.bottom-nav .nav-item{font-size:9px}.bottom-nav .nav-item svg{width:18px;height:18px}.booking-footer:has(.applied-promo){padding-top:9px}.with-booking-footer{padding-bottom:235px!important}.admin-sections{gap:3px;margin-bottom:12px}.admin-sections button{font-size:11px;padding:9px 6px}.admin-sections button span{margin-left:0}}
