:root{--ivory:#F8F6EF;--cream:#F1EBDD;--ink:#292823;--logo:#3A3833;--muted:#6F6B61;--gold:#B49A5A;--gold-hover:#9A8147;--lightgold:#D1BF91;--border:#E5E0D3;--white:#FFF;--green:#526551;--red:#9A443D;--display:'Cormorant Garamond',Georgia,serif;--body:'Montserrat',Arial,sans-serif;--shadow:0 16px 60px #2928230b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:13px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.05}h1{font-size:54px}h2{font-size:38px}h3{font-size:26px}h4{font-size:21px}p{color:var(--muted)}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.55;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{color:inherit}::selection{background:var(--lightgold);color:var(--ink)}:focus-visible{outline:2px solid var(--gold-hover);outline-offset:4px}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:12px;padding:12px;background:var(--ink);color:white;z-index:999}.skip-link:focus{top:12px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;color:var(--gold-hover)}.muted{color:var(--muted)}.small{font-size:11px}.tiny{font-size:10px}.serif{font-family:var(--display)}.text-gold{color:var(--gold-hover)}.text-right{text-align:right}.nowrap{white-space:nowrap}.spacer{flex:1}.row{display:flex;align-items:center;gap:14px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:20px}.stack-sm{display:grid;gap:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.mb-2{margin-bottom:20px}.separator{height:1px;background:var(--border);margin:22px 0}.btn{border:1px solid var(--gold);background:var(--gold);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 23px;font-weight:600;font-size:11px;letter-spacing:.015em;border-radius:5px;min-height:44px;transition:background .16s,border-color .16s}.btn:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:white}.btn.secondary{background:transparent;border-color:var(--border);color:var(--ink)}.btn.secondary:hover{background:var(--cream);border-color:var(--lightgold)}.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.btn.dark:hover{background:var(--logo)}.btn.danger{background:#fff;border-color:#e9cac7;color:var(--red)}.btn.sm{padding:8px 13px;min-height:36px;font-size:10px}.btn.wide{width:100%}.btn svg{width:16px;height:16px}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:5px;background:transparent}.icon-button:hover{background:var(--cream)}.text-button{padding:6px 0;border:0;background:none;color:var(--gold-hover);font-size:11px;font-weight:600}.text-button:hover{text-decoration:underline}.wordmark{display:inline-flex;flex-direction:column;align-items:center;color:var(--logo);white-space:nowrap}.wordmark .name{font-family:var(--display);font-weight:300;font-size:35px;line-height:1;letter-spacing:-.045em}.wordmark .rule{width:38px;height:1px;background:var(--gold);margin:9px 0 8px}.wordmark .tagline{font-size:6.3px;letter-spacing:.32em;font-weight:500}.wordmark.large .name{font-size:52px}.wordmark.large .tagline{font-size:8.6px}.wordmark.light{color:var(--ivory)}.wordmark.light .rule{background:var(--lightgold)}.wordmark.light .tagline{color:#d6d1c4}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:30px;background:var(--cream);color:var(--muted);font-size:9px;font-weight:600;white-space:nowrap}.pill.good{background:#edf1e8;color:var(--green)}.pill.warn{background:#f7eedb;color:#846927}.pill.bad{background:#faece9;color:var(--red)}.dot{width:5px;height:5px;border-radius:50%;background:currentColor}.card{border:1px solid var(--border);border-radius:9px;background:var(--white);padding:25px;min-width:0}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:23px}.card-header h3{font-size:25px}.panel-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.empty{padding:40px 18px;text-align:center;display:grid;justify-items:center;gap:13px}.empty .empty-icon{height:52px;width:52px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:var(--gold-hover);background:var(--ivory)}.empty p{max-width:380px;font-size:12px}.empty h3{font-size:27px}.notice{border:1px solid var(--border);background:var(--cream);color:var(--muted);padding:13px 16px;border-radius:6px;font-size:11px;line-height:1.8}.notice.error{border-color:#e8cbc6;background:#fff3ef;color:var(--red)}.notice.success{background:#edf1e8;color:var(--green);border-color:#dbe4d3}.notice svg{width:16px;vertical-align:middle;margin-right:6px}.loading-ring{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.initial-loading{display:grid;place-content:center;justify-items:center;gap:16px;min-height:70vh}.loading-content{display:grid;justify-items:center;gap:10px;padding:80px 20px}.skeleton{height:16px;border-radius:4px;background:linear-gradient(90deg,var(--cream),var(--ivory),var(--cream));background-size:200%;animation:shimmer 1.4s infinite}.field{display:grid;gap:7px;min-width:0}.field label,.field-label{font-size:11px;color:var(--ink);font-weight:500}.field input,.field select,.field textarea,.search-input{width:100%;border:1px solid var(--border);background:var(--white);border-radius:5px;padding:12px 13px;color:var(--ink);min-height:44px;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b49a5a12}.field input::placeholder,.field textarea::placeholder{color:#a4a092}.field textarea{min-height:85px;resize:vertical}.field .hint{font-size:10px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--muted);cursor:pointer}.check input{accent-color:var(--gold-hover);margin:4px 0 0}.form-error{color:var(--red);font-size:11px;min-height:0;display:none}.form-error:not(:empty){display:block;border:1px solid #e8cbc6;background:#fff3ef;border-radius:5px;padding:11px 13px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--cream);color:var(--gold-hover);font-family:var(--display);font-size:19px;flex-shrink:0}.avatar.large{width:54px;height:54px;font-size:29px}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}th{text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:500;color:var(--muted);padding:13px 13px;background:var(--ivory);white-space:nowrap}td{border-bottom:1px solid var(--border);padding:16px 13px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600;font-size:11px}.table-actions{display:flex;gap:7px;justify-content:flex-end}.table-actions button{white-space:nowrap}.price{font-family:var(--display);font-size:26px;color:var(--ink)}
/* Editorial public website */
.site-nav{max-width:1280px;margin:auto;padding:26px 56px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--border)}.site-nav nav{display:flex;align-items:center;gap:30px;font-size:11px}.site-nav .wordmark .name{font-size:34px}.hero{max-width:1280px;margin:auto;padding:75px 56px 84px;display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.hero h1{font-size:clamp(54px,5.6vw,78px);line-height:.98;letter-spacing:-.035em;margin:24px 0}.hero h1 em{font-weight:400;color:var(--gold-hover)}.hero .lead{font-size:13px;line-height:1.95;max-width:420px}.hero-actions{display:flex;gap:12px;margin:30px 0 20px}.hero-note{font-size:9px;letter-spacing:.02em}.hero-scene{min-height:500px;background:var(--cream);border-radius:200px 200px 9px 9px;position:relative;padding:94px 24px 26px;display:flex;align-items:center;justify-content:center}.hero-scene:before{content:'';position:absolute;width:200px;height:370px;border:1px solid #b49a5a42;border-radius:100% 0;top:-25px;right:-19px;transform:rotate(23deg);pointer-events:none}.hero-scene:after{content:'';position:absolute;width:130px;height:235px;border:1px solid #b49a5a42;border-radius:100% 0;top:36px;right:-29px;transform:rotate(-5deg);pointer-events:none}.preview-card{position:relative;width:100%;z-index:1;border:1px solid var(--border);background:#fffefa;box-shadow:0 24px 70px #53462a19;padding:27px;border-radius:9px;transform:none}.preview-card .preview-title{font-family:var(--display);font-size:28px}.preview-date{font-size:10px;color:var(--muted)}.preview-day{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.preview-day .time{font-size:10px;color:var(--muted);width:32px}.preview-day .placeholder-slot{background:var(--cream);padding:13px 15px;border-left:2px solid var(--gold);border-radius:0 4px 4px 0;flex:1;font-size:10px}.preview-day .placeholder-slot.white{background:var(--ivory);border-left-color:var(--border)}.preview-caption{text-align:right;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:12px}.floating-note{position:absolute;z-index:2;left:-30px;bottom:0px;background:var(--ink);color:var(--ivory);padding:17px 22px;display:flex;align-items:center;gap:13px;border-radius:6px;box-shadow:var(--shadow);font-size:10px;transform:none}.floating-note svg{color:var(--lightgold)}.floating-note span{display:block;color:#c1bbaa;font-size:9px;margin-top:3px}.section{max-width:1280px;margin:auto;padding:76px 56px}.section-intro{max-width:620px;text-align:center;margin:0 auto 42px}.section-intro h2{font-size:47px;margin:16px 0}.section-intro p{font-size:12px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{padding:34px 28px;background:var(--white);border:1px solid var(--border);border-radius:7px}.feature-icon{width:44px;height:44px;display:grid;place-items:center;background:var(--ivory);border:1px solid var(--border);border-radius:50%;color:var(--gold-hover);margin-bottom:28px}.feature-card h3{margin-bottom:13px;font-size:29px}.feature-card p{font-size:11px;line-height:1.95}.cream-section{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step-number{font-family:var(--display);font-size:48px;color:var(--gold);margin-bottom:16px}.steps h3{margin-bottom:12px}.steps p{font-size:11px}.pricing-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.pricing-layout h2{font-size:53px;margin:18px 0}.pricing-card{padding:37px;border:1px solid var(--border);border-radius:8px;background:var(--white)}.pricing-amount{font-family:var(--display);font-size:61px;line-height:1;margin:20px 0}.pricing-amount span{font-family:var(--body);font-size:11px;color:var(--muted)}.feature-list{padding:0;list-style:none;display:grid;gap:14px;font-size:11px}.feature-list li{display:flex;gap:11px;align-items:center}.feature-list svg{width:15px;color:var(--gold-hover)}.footer{background:var(--ink);padding:47px 56px;color:var(--ivory)}.footer-inner{max-width:1168px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:24px;color:#c1bbaa;font-size:10px}.footer-bottom{max-width:1168px;margin:30px auto 0;padding-top:20px;border-top:1px solid #ffffff18;display:flex;justify-content:space-between;font-size:9px;color:#a9a698}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-editorial{background:var(--cream);padding:50px 60px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.auth-editorial:after{content:'';position:absolute;width:450px;height:600px;border:1px solid #b49a5a44;border-radius:100% 0;bottom:-300px;right:-80px;transform:rotate(15deg)}.auth-editorial .quote{max-width:450px;margin:auto 0;padding:70px 0;position:relative;z-index:1}.auth-editorial h1{font-size:65px;letter-spacing:-.03em}.auth-editorial h1 em{color:var(--gold-hover);font-weight:400}.auth-editorial p{font-size:12px;line-height:1.95;margin-top:23px;max-width:350px}.auth-content{display:flex;align-items:center;justify-content:center;padding:50px 35px;background:var(--ivory)}.auth-form{width:100%;max-width:360px}.auth-form h2{font-size:42px;margin:13px 0}.auth-form>p{font-size:11px;margin-bottom:28px}.auth-form form{display:grid;gap:17px}.auth-footer{margin-top:23px!important;text-align:center;font-size:10px!important}.auth-footer a{color:var(--gold-hover);text-decoration:underline}.auth-bottom{font-size:9px;color:var(--muted)}
/* Owner workspace */
.sidebar{position:fixed;inset:0 auto 0 0;width:231px;background:#f5f2e9;border-right:1px solid var(--border);padding:35px 18px 19px;display:flex;flex-direction:column;z-index:30}.sidebar-brand{display:flex;justify-content:center;margin-bottom:36px}.sidebar .wordmark .name{font-size:32px}.workspace-label{display:flex;gap:8px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:0 14px;margin-bottom:10px}.sidebar-nav{display:grid;gap:3px}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:5px;font-size:11px;color:var(--muted);border:1px solid transparent}.sidebar-nav a svg{width:17px;height:17px}.sidebar-nav a.active{background:var(--white);border-color:var(--border);color:var(--ink);box-shadow:0 3px 8px #29282303}.sidebar-nav a.active svg{color:var(--gold-hover)}.sidebar-nav a:hover{background:#ffffff90;color:var(--ink)}.sidebar-nav .later{font-size:7px;letter-spacing:.08em;text-transform:uppercase;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:20px}.sidebar-salon{border-top:1px solid var(--border);padding:19px 6px 0;display:flex;gap:10px;align-items:center;min-width:0}.sidebar-salon .salon-info{min-width:0;flex:1}.sidebar-salon strong{font-size:10px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-salon span{font-size:9px;color:var(--muted)}.workspace{margin-left:231px;min-height:100vh}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 39px;border-bottom:1px solid var(--border);background:#faf8f2}.topbar .breadcrumb{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:10px}.topbar .breadcrumb span{color:var(--ink)}.topbar .breadcrumb svg{width:12px;height:12px}.topbar-actions{display:flex;gap:16px;align-items:center}.topbar-actions .environment-label{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.mobile-menu{display:none}.page-content{max-width:1510px;margin:auto;padding:35px 39px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-heading h1{font-size:43px;letter-spacing:-.025em}.page-heading p{font-size:11px;margin-top:8px}.heading-actions{display:flex;gap:10px;flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat-card{border:1px solid var(--border);border-radius:7px;background:var(--white);padding:20px 22px;min-width:0}.stat-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.stat-label svg{width:17px;height:17px;color:var(--gold-hover)}.stat-number{font-family:var(--display);font-size:37px;line-height:1.2;margin-top:13px;overflow-wrap:anywhere}.stat-foot{font-size:9px;color:var(--muted);margin-top:7px}.dashboard-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:23px}.appointment-list{display:grid}.appointment-row{display:flex;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}.appointment-row:first-child{padding-top:0}.appointment-row:last-child{border:0;padding-bottom:0}.appointment-time{font-size:10px;min-width:42px;color:var(--muted)}.appointment-detail{flex:1;min-width:0}.appointment-detail strong{display:block;font-size:11px;font-weight:600}.appointment-detail p{font-size:10px;margin-top:3px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-card{padding:18px 13px;border:1px solid var(--border);border-radius:6px;background:var(--ivory);text-align:left;display:grid;gap:13px;font-size:10px;color:var(--muted)}.quick-card svg{color:var(--gold-hover)}.quick-card:hover{border-color:var(--lightgold)}.booking-link{display:flex;gap:10px;align-items:center;padding:11px 12px;background:var(--ivory);border:1px solid var(--border);border-radius:5px}.booking-link code{font-family:var(--body);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.booking-link button{flex-shrink:0}.soft-banner{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:23px;display:flex;gap:17px;align-items:center}.soft-banner>svg{width:29px;height:29px;color:var(--gold-hover)}.soft-banner h3{font-size:25px;margin-bottom:6px}.soft-banner p{font-size:10px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:21px;flex-wrap:wrap}.toolbar .search{position:relative;min-width:220px;max-width:360px;flex:1}.search svg{position:absolute;top:13px;left:12px;width:16px;height:16px;color:var(--muted)}.search-input{padding-left:38px;font-size:11px}.segmented{display:flex;border:1px solid var(--border);border-radius:5px;background:var(--white);padding:3px;gap:3px}.segmented button{border:0;background:transparent;padding:7px 15px;border-radius:3px;font-size:10px;color:var(--muted)}.segmented button.active{background:var(--cream);color:var(--ink)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:25px;border:1px solid var(--border);border-radius:7px;background:var(--white);display:flex;flex-direction:column;gap:16px}.service-card .service-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.service-card h3{font-size:29px}.service-card p{font-size:10px;line-height:1.8}.service-card .service-footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--border);padding-top:17px;margin-top:auto}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.staff-card .staff-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;min-height:29px}.staff-card .staff-actions{display:flex;gap:8px;margin-top:21px;padding-top:20px;border-top:1px solid var(--border)}.calendar-shell{padding:0;overflow:hidden}.calendar-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:21px 24px;flex-wrap:wrap}.calendar-toolbar h3{font-size:28px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border)}.calendar-dayname{padding:13px 9px;text-align:center;background:var(--ivory);font-size:9px;color:var(--muted);border-bottom:1px solid var(--border)}.calendar-cell{min-height:115px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;min-width:0}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:#fbfaf7;color:#b4b0a4}.calendar-cell .day-number{font-size:10px;display:inline-grid;place-items:center;width:23px;height:23px}.calendar-cell.today .day-number{background:var(--ink);color:var(--ivory);border-radius:50%}.calendar-booking{display:block;width:100%;border:0;border-left:2px solid var(--gold);border-radius:3px;background:var(--cream);font-size:8px;padding:5px 6px;line-height:1.5;margin-top:5px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-booking.cancelled{opacity:.5;text-decoration:line-through}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:730px}.week-day{padding:12px;min-height:300px;border-right:1px solid var(--border);border-top:1px solid var(--border)}.week-day:last-child{border-right:0}.week-day .day-label{text-align:center;font-size:10px;margin-bottom:18px;color:var(--muted)}.week-day .day-label b{display:block;font-family:var(--display);font-size:30px;color:var(--ink);font-weight:500}.week-day .calendar-booking{padding:11px 8px;white-space:normal;font-size:9px}.day-list{padding:23px}.day-list .appointment-row{padding:18px 0}.hours-table{width:100%;font-size:11px}.hours-row{display:grid;grid-template-columns:105px 1fr 1fr;gap:11px;align-items:center;padding:8px 0}.hours-row input[type=time]{padding:8px 10px;min-height:36px;width:100%;border:1px solid var(--border);border-radius:4px;background:white;font:inherit}.hours-row .check{color:var(--ink)}.qualification-list{display:flex;flex-wrap:wrap;gap:10px}.qualification-list .check{border:1px solid var(--border);border-radius:4px;padding:9px 12px;background:var(--ivory)}.settings-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:25px;overflow-x:auto}.settings-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 0 12px;font-size:11px;white-space:nowrap;color:var(--muted)}.settings-tabs button.active{border-color:var(--gold);color:var(--ink)}.integration-header{display:flex;align-items:center;gap:18px;margin-bottom:25px}.integration-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:var(--cream);color:var(--gold-hover)}.integration-mark svg{width:27px;height:27px}.coming-soon{padding:60px 30px;max-width:650px;margin:25px auto;text-align:center}.coming-soon .feature-icon{margin:0 auto 25px}.coming-soon h2{margin:15px 0}.coming-soon p{font-size:12px;max-width:480px;margin:0 auto}.platform-label{background:var(--ink);color:var(--lightgold);border-radius:4px;padding:8px 12px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.platform-shell{max-width:1240px;margin:auto;padding:32px}.platform-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px;gap:18px}
/* Guided appointment booking */
.public-header{max-width:1080px;margin:auto;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.public-header .wordmark .name{font-size:28px}.public-header .wordmark .tagline{font-size:5.5px}.booking-container{max-width:1030px;margin:45px auto 70px;padding:0 28px}.salon-intro{margin-bottom:35px}.salon-intro h1{font-size:53px;margin:12px 0}.salon-intro p{font-size:11px}.booking-layout{display:grid;grid-template-columns:1fr 290px;gap:27px;align-items:start}.booking-content{min-width:0}.booking-progress{display:flex;align-items:center;margin-bottom:25px;gap:8px}.booking-progress .progress-part{height:3px;background:var(--border);flex:1;border-radius:3px}.booking-progress .progress-part.active{background:var(--gold)}.booking-step-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.booking-step-label h2{font-size:33px}.booking-step-label span{font-size:9px;color:var(--muted)}.selection-list{display:grid;gap:12px}.selection-card{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--border);background:var(--white);border-radius:7px;width:100%;text-align:left}.selection-card:hover{border-color:var(--gold)}.selection-card.selected{border-color:var(--gold);background:#faf8f1;box-shadow:0 0 0 1px var(--gold)}.selection-card .selection-text{flex:1;min-width:0}.selection-card h3{font-size:25px;margin-bottom:7px}.selection-card p{font-size:10px}.selection-card .selection-price{font-family:var(--display);font-size:25px}.selection-card .radio-circle{border:1px solid var(--border);width:18px;height:18px;border-radius:50%;flex-shrink:0}.selection-card.selected .radio-circle{border:5px solid var(--gold)}.booking-summary{position:sticky;top:24px;padding:26px;background:var(--cream);border:1px solid var(--border);border-radius:8px}.booking-summary h3{font-size:27px;margin-bottom:23px}.summary-line{display:flex;justify-content:space-between;gap:20px;font-size:10px;margin-bottom:13px}.summary-line span:first-child{color:var(--muted)}.summary-line span:last-child{text-align:right;overflow-wrap:anywhere}.booking-summary .summary-total{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #d9d0bd;font-size:11px}.booking-summary .summary-total strong{font-family:var(--display);font-size:29px;font-weight:500}.booking-summary .summary-note{font-size:9px;margin-top:18px;line-height:1.8}.booking-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:12px}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.time-choice{border:1px solid var(--border);border-radius:4px;background:white;padding:12px;font-size:11px}.time-choice:hover{border-color:var(--gold)}.time-choice.selected{border-color:var(--ink);background:var(--ink);color:white}.date-pick{padding:21px;background:white;border:1px solid var(--border);border-radius:7px}.booking-success{max-width:610px;margin:50px auto;text-align:center}.success-circle{height:70px;width:70px;display:grid;place-items:center;background:var(--cream);border:1px solid var(--lightgold);border-radius:50%;margin:0 auto 25px;color:var(--gold-hover)}.success-circle svg{width:30px;height:30px}.booking-success h1{font-size:50px;margin-bottom:17px}.booking-success>.card{margin-top:30px;text-align:left}.booking-success p{font-size:12px}.public-footer{text-align:center;font-size:9px;color:var(--muted);padding:25px;border-top:1px solid var(--border)}.onboard-shell{max-width:860px;margin:40px auto;padding:0 24px}.onboard-header{text-align:center;margin:40px auto}.onboard-header h1{font-size:50px;margin:15px 0}.onboard-header p{font-size:12px}.onboard-steps{display:flex;justify-content:center;gap:34px;margin:28px 0}.onboard-steps span{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.onboard-steps b{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;font-weight:500}.onboard-steps .active{color:var(--ink)}.onboard-steps .active b{background:var(--gold);border-color:var(--gold)}.checklist-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.checklist-row:last-child{border-bottom:0}.checklist-row .circle{width:29px;height:29px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--muted)}.checklist-row.done .circle{background:var(--cream);color:var(--gold-hover);border-color:var(--lightgold)}.checklist-row .circle svg{width:15px;height:15px}.checklist-row p{font-size:10px}.checklist-row strong{font-size:11px;font-weight:600}
/* Dialogs and feedback */
.modal-backdrop{position:fixed;inset:0;background:#29282370;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:560px;max-height:calc(100dvh - 48px);overflow:auto;background:var(--ivory);border-radius:10px;box-shadow:0 24px 100px #0003;padding:29px}.modal.wide{max-width:760px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.modal-header h2{font-size:34px}.modal-footer{margin-top:24px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.modal-description{font-size:11px;margin:-10px 0 22px}.modal form{display:grid;gap:18px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);z-index:200;padding:13px 22px;background:var(--ink);color:var(--ivory);border:1px solid #ffffff20;border-radius:6px;font-size:11px;box-shadow:var(--shadow);max-width:calc(100vw - 32px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-shade{display:none}.demo-steps{display:grid;gap:18px}.demo-step{padding:17px 20px;border:1px solid var(--border);border-radius:6px;background:white}.demo-step h3{font-size:24px;margin-bottom:9px}.demo-step p{font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200%}}
@media(min-width:1500px){.page-content{padding-top:43px}.hero{padding-top:100px;padding-bottom:100px}}
@media(max-width:1150px){.hero{gap:35px}.hero-scene{min-height:450px}.sidebar{width:208px;padding-left:12px;padding-right:12px}.workspace{margin-left:208px}.topbar{padding:0 27px}.page-content{padding:30px 27px}.stats-grid{gap:12px}.stat-card{padding:17px}.dashboard-columns{grid-template-columns:1.4fr 1fr}.service-grid,.staff-grid{grid-template-columns:repeat(2,1fr)}.pricing-layout{gap:60px}.page-heading h1{font-size:39px}}
@media(max-width:900px){.site-nav{padding:23px 28px}.site-nav nav{gap:17px}.hero{padding:55px 28px 65px;gap:30px}.hero h1{font-size:60px}.hero-scene{min-height:410px;padding:80px 16px 23px}.preview-card{padding:20px}.floating-note{left:-8px;font-size:9px;padding:13px 17px}.section{padding:60px 28px}.feature-grid{gap:15px}.feature-card{padding:27px 21px}.steps{gap:30px}.pricing-layout{gap:35px}.sidebar{width:190px;padding-left:9px;padding-right:9px}.sidebar .wordmark .name{font-size:28px}.sidebar .wordmark .tagline{font-size:5.5px}.workspace{margin-left:190px}.sidebar-nav a{gap:9px;font-size:10px;padding:10px 12px}.topbar{padding:0 23px}.page-content{padding:27px 23px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.grid-4{grid-template-columns:1fr 1fr}.heading-actions .btn{padding:10px 14px}.auth-editorial{padding:45px 35px}.auth-editorial h1{font-size:56px}.auth-content{padding:35px 25px}.booking-layout{grid-template-columns:1fr 250px;gap:20px}.booking-summary{padding:22px}.booking-container{margin-top:35px}.page-heading{align-items:flex-start}.calendar-cell{min-height:90px;padding:5px}.calendar-booking{font-size:7px}.calendar-toolbar{padding:17px}}
@media(max-width:700px){h1{font-size:43px}.site-nav{padding:21px 22px}.site-nav nav a:not(.nav-login){display:none}.site-nav .wordmark .name{font-size:29px}.site-nav .wordmark .tagline{font-size:5.5px}.site-nav .btn{padding:9px 14px;min-height:38px;font-size:10px}.site-nav nav{gap:12px}.hero{grid-template-columns:1fr;padding:45px 25px 55px;gap:46px;overflow:hidden}.hero h1{font-size:61px;max-width:420px;margin-top:20px}.hero .lead{max-width:430px}.hero-scene{max-width:420px;width:calc(100% - 22px);justify-self:center;min-height:400px;margin-bottom:16px}.floating-note{left:-16px;bottom:-13px}.section{padding:54px 25px}.section-intro h2{font-size:39px}.feature-grid,.steps{grid-template-columns:1fr;gap:15px}.feature-card{padding:26px;display:grid;grid-template-columns:46px 1fr;column-gap:20px;align-items:start}.feature-icon{margin:0;grid-row:1/3}.feature-card h3{font-size:28px;margin:0 0 10px}.feature-card p{grid-column:2}.steps{gap:30px}.steps>div{display:grid;grid-template-columns:44px 1fr;column-gap:20px}.step-number{grid-row:1/3;font-size:38px;margin:0}.steps p{grid-column:2}.pricing-layout{grid-template-columns:1fr;gap:28px}.pricing-layout h2{font-size:43px}.pricing-card{padding:28px}.footer{padding:37px 25px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}.footer-bottom{gap:15px;flex-wrap:wrap}.auth-layout{grid-template-columns:1fr}.auth-editorial{padding:27px;min-height:0;align-items:center}.auth-editorial .quote,.auth-bottom{display:none}.auth-content{padding:40px 26px 60px;align-items:start}.auth-form{max-width:410px}.auth-form h2{font-size:40px}.sidebar{transform:translateX(-100%);transition:transform .2s;width:240px}.sidebar.open{transform:translateX(0)}.sidebar .wordmark .name{font-size:34px}.sidebar .wordmark .tagline{font-size:6.3px}.sidebar-nav a{font-size:12px;padding:11px 14px;gap:12px}.sidebar-nav a svg{width:18px;height:18px}.mobile-shade.visible{display:block;position:fixed;inset:0;background:#29282350;z-index:29}.workspace{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:66px;padding:0 20px}.topbar .breadcrumb{font-size:10px}.topbar-actions{gap:10px}.topbar-actions .environment-label{display:none}.topbar-actions>.btn{font-size:9px;padding:8px 11px;min-height:35px}.page-content{padding:27px 20px 40px}.page-heading{gap:15px;margin-bottom:23px;flex-wrap:wrap}.page-heading h1{font-size:39px}.page-heading p{font-size:10px}.heading-actions{width:100%}.stats-grid{gap:12px}.stat-card{padding:18px}.stat-number{font-size:35px}.stat-foot{font-size:8px}.stat-label{font-size:9px}.card{padding:21px}.dashboard-columns{gap:18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.service-grid,.staff-grid{grid-template-columns:1fr}.service-card{padding:23px}.toolbar{gap:12px}.toolbar .search{min-width:100%;max-width:none}.toolbar .segmented{max-width:100%;overflow:auto}.toolbar .segmented button{padding:7px 12px}.calendar-toolbar{gap:15px}.calendar-toolbar h3{font-size:26px}.calendar-grid{overflow:auto}.calendar-cell{min-height:85px;padding:4px}.calendar-dayname{font-size:8px;padding:10px 2px}.calendar-cell .day-number{width:20px;height:20px;font-size:9px}.calendar-booking{font-size:7px;padding:4px 3px;line-height:1.5}.calendar-toolbar .segmented button{padding:6px 11px}.calendar-shell{padding:0}.soft-banner{padding:20px;align-items:flex-start;flex-wrap:wrap}.soft-banner .btn{margin-left:45px}.public-header{padding:21px 23px}.public-header .wordmark .name{font-size:27px}.public-header .small{font-size:9px;max-width:100px;text-align:right}.booking-container{padding:0 22px;margin:31px auto 45px}.salon-intro h1{font-size:43px}.salon-intro{margin-bottom:26px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:2}.booking-step-label h2{font-size:31px}.selection-card{padding:18px;gap:12px}.selection-card h3{font-size:24px}.selection-card .selection-price{font-size:24px}.booking-summary h3{font-size:25px;margin-bottom:18px}.time-grid{grid-template-columns:repeat(3,1fr)}.booking-success{margin:25px auto}.booking-success h1{font-size:44px}.onboard-shell{margin-top:25px}.onboard-header{margin-top:28px}.onboard-header h1{font-size:43px}.onboard-steps{gap:16px}.onboard-steps span{font-size:9px;gap:6px}.form-grid{gap:14px}.hours-row{grid-template-columns:90px 1fr 1fr;gap:8px;font-size:10px}.hours-row input[type=time]{padding:8px 5px}.modal-backdrop{padding:15px}.modal{padding:24px;max-height:calc(100dvh - 30px)}.modal-header h2{font-size:31px}.platform-shell{padding:24px 20px}.platform-header{flex-wrap:wrap}.platform-label{font-size:8px}.table-wrap{margin:0 -5px}.form-grid .field{min-width:0}}
@media(max-width:380px){.hero h1{font-size:53px}.site-nav .nav-login{display:none}.page-content{padding:24px 16px}.stat-card{padding:15px}.stat-number{font-size:31px}.topbar{padding:0 16px}.topbar-actions .btn{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.time-grid{grid-template-columns:repeat(2,1fr)}.selection-card .selection-price{font-size:21px}.booking-progress{gap:5px}.hours-row{grid-template-columns:80px 1fr 1fr;gap:5px}.hero-actions{gap:9px}.hero-actions .btn{padding:12px 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Readable controls and records at every size; only the wordmark stays delicate. */
body{font-size:14px}.btn:hover{color:var(--ink)}.btn.dark:hover{color:var(--ivory)}.small,.tiny,.field label,.field-label,.field .hint,.check,.form-error,.notice,.panel-label,.pill,.stat-label,.stat-foot,.summary-line,.booking-summary .summary-note,.booking-summary .summary-total,.search-input,.text-button,.btn.sm{font-size:12px}.btn,.field input,.field select,.field textarea,.search-input{font-size:13px}.field input,.field select,.field textarea{font-size:14px}.eyebrow{font-size:11px}.sidebar-nav a{font-size:12px}.sidebar-salon strong,.sidebar-salon span{font-size:11px}.page-heading p,.appointment-detail p,.appointment-time,.appointment-detail strong,.quick-card,.toolbar .segmented button,.segmented button,.settings-tabs button,.selection-card p,.booking-step-label span,.customer-table,table,th,td,td strong{font-size:12px}.calendar-booking{font-size:11px;white-space:normal}.calendar-dayname,.calendar-cell .day-number{font-size:12px}.calendar-cell{min-height:120px}.calendar-grid{min-width:700px}.calendar-shell{overflow:auto}.preview-card .tiny,.preview-day,.preview-day .time,.preview-day .placeholder-slot,.preview-date{font-size:11px}.hero-note,.feature-card p,.steps p,.pricing-card .small,.footer-links,.auth-form>p,.auth-footer,.auth-editorial p,.salon-intro p,.onboard-header p{font-size:12px}.hero .lead{font-size:14px}.booking-link code{font-size:11px}.table-actions{flex-wrap:wrap}.time-choice{font-size:13px}.week-day .calendar-booking{font-size:12px}.calendar-toolbar{min-width:0;position:sticky;left:0}.appointment-detail{overflow-wrap:anywhere}.repeat-row input,.repeat-row select{min-width:0}.onboard-shell .grid-2{grid-template-columns:1.1fr 1fr}.auth-footer{font-size:12px!important}.sidebar{overflow-y:auto}.sidebar-bottom{flex-shrink:0}.booking-summary .summary-note{font-size:11px}.hero-note{font-size:11px}.sidebar-nav .later{font-size:9px}.platform-label{font-size:11px}
@media(max-width:700px){body{font-size:14px}.small,.tiny,.notice,.pill,.check,.summary-line,.booking-summary .summary-note,.stat-label,.stat-foot,.field label,.field-label,.field .hint,.form-error,.page-heading p,.appointment-time,.appointment-detail p,.appointment-detail strong,.quick-card,.text-button,.btn.sm,.settings-tabs button,.calendar-dayname,.calendar-cell .day-number,.toolbar .segmented button,.selection-card p,.public-header .small,.booking-step-label span,.time-choice .tiny,table,th,td,td strong{font-size:12px}.btn{font-size:12px}.field input,.field select,.field textarea,.search-input{font-size:16px}.sidebar-nav a{font-size:14px}.sidebar-salon strong,.sidebar-salon span{font-size:12px}.topbar .breadcrumb{font-size:12px}.topbar-actions>.btn{font-size:11px}.calendar-booking{font-size:12px}.calendar-dayname{padding:12px 8px}.calendar-cell{min-height:120px;padding:7px}.onboard-shell .grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.hours-row{grid-template-columns:100px 1fr 1fr;gap:7px}.hours-row input[type=time]{font-size:14px;min-width:0}.hours-row .check{font-size:12px}.repeat-row.row{flex-wrap:wrap}.repeat-row.row select{width:100%}.repeat-row.row input{flex:1;width:calc(50% - 30px)}.repeat-row .row{flex-wrap:wrap}.repeat-row .row input{width:100%;flex:auto}.calendar-toolbar h3{font-size:25px}.segmented button{font-size:12px;padding:8px 12px}.hero h1{font-size:59px}.stat-number{font-size:34px}.stat-card{padding:17px 15px}.stat-label{align-items:flex-start}.footer-links{font-size:12px}.auth-form>p,.auth-footer{font-size:13px!important}.booking-link{flex-wrap:wrap}.booking-link code{font-size:12px}.feature-card p,.steps p{font-size:13px}.footer-bottom{font-size:11px}.onboard-steps span{font-size:12px}.table-wrap{margin:0}.booking-actions .btn{min-height:46px}.summary-line{gap:13px}.selection-card .selection-price{font-size:24px}.booking-step-label{gap:16px}.booking-step-label span{white-space:nowrap}}

/* WhatsApp example: readable, static and clearly separate from live messaging. */
.hero-actions{flex-wrap:wrap}.whatsapp-demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;scroll-margin-top:24px}.whatsapp-demo h2{font-size:53px;margin:18px 0 22px}.whatsapp-demo-copy>p{font-size:14px;line-height:1.9}.whatsapp-demo .feature-list{margin:26px 0;font-size:13px}.whatsapp-demo .feature-list li{align-items:flex-start}.whatsapp-demo .feature-list svg{margin-top:4px;flex-shrink:0}.whatsapp-demo-copy .whatsapp-setup-note{font-size:12px;line-height:1.8;padding:16px 18px;border-left:2px solid var(--gold);background:var(--cream);color:var(--ink)}.whatsapp-photo-note{margin-top:18px;font-size:12px;color:var(--muted)}.whatsapp-photo-note summary{cursor:pointer;color:var(--ink);font-weight:600;padding:8px 0;min-height:44px}.whatsapp-photo-note p{padding:6px 0;line-height:1.8}.whatsapp-conversation{min-width:0;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--cream);box-shadow:var(--shadow)}.whatsapp-demo-header{display:flex;align-items:center;gap:13px;padding:22px 24px;background:var(--ink);color:var(--ivory)}.whatsapp-demo-header>svg{color:var(--lightgold)}.whatsapp-demo-header>div{min-width:0;flex:1}.whatsapp-demo-header strong{display:block;font-size:13px;font-weight:600}.whatsapp-demo-header div>span{display:block;font-size:11px;color:#d8d1bf;margin-top:2px}.whatsapp-demo-header>.pill{flex-shrink:0;background:var(--cream);color:var(--ink);font-size:10px}.whatsapp-demo-messages{list-style:none;display:grid;gap:16px;margin:0;padding:26px 24px}.whatsapp-demo-messages li{max-width:90%;padding:15px 17px;border-radius:9px;overflow-wrap:anywhere}.whatsapp-demo-messages p{font-size:13px;color:var(--ink);line-height:1.8}.demo-customer{justify-self:end;background:#e6eadd;border:1px solid #d2dac9}.demo-receptionist{justify-self:start;background:var(--white);border:1px solid var(--border)}.demo-speaker{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:5px}.whatsapp-conversation figcaption{padding:18px 24px;border-top:1px solid var(--border);background:var(--ivory);font-size:11px;color:var(--muted);line-height:1.8}
@media(max-width:1150px){.site-nav nav{gap:18px}.whatsapp-demo{gap:35px}}
@media(max-width:900px){.site-nav nav{gap:12px}.site-nav nav>a[href="#how-it-works"]{display:none}.whatsapp-demo{gap:28px}.whatsapp-demo h2{font-size:45px}.whatsapp-demo-header{padding:19px 18px;flex-wrap:wrap}.whatsapp-demo-header>.pill{margin-left:33px}.whatsapp-demo-messages{padding:22px 18px}}
@media(max-width:700px){.whatsapp-demo{grid-template-columns:1fr;gap:28px}.whatsapp-demo h2{font-size:43px}.whatsapp-demo-header>.pill{margin-left:0}.whatsapp-demo-messages li{max-width:94%}.whatsapp-demo-copy>p{font-size:14px}.whatsapp-demo .feature-list{font-size:13px}.whatsapp-conversation figcaption{font-size:12px;padding:17px 18px}.whatsapp-demo-header{gap:10px}.whatsapp-demo-header strong{font-size:12px}}
@media(max-width:380px){.whatsapp-demo-header>.pill{margin-left:30px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:center}.whatsapp-demo-messages{padding:18px 14px}.whatsapp-demo-messages li{padding:13px 14px}}
