@import url('./fonts.css');
:root{--bg:#f8fafb;--white:#fff;--text:#264653;--muted:#526a76;--line:#d9e4e8;--accent:#264653;--light:#e4f3f0;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;font:14px 'DM Sans',Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button{color:inherit}a{color:var(--accent)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:3px solid #176d65;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #176d65;outline-offset:1px}input,select,textarea{border:1px solid #d9e4e8;border-radius:9px;padding:11px 12px;background:white;color:var(--text);width:100%;min-width:0}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0}input[type=color]{padding:3px;height:42px;width:54px}textarea{resize:vertical;min-height:105px}h1,h2,h3,p{margin:0}h1{font-family:'Manrope',Arial,sans-serif;font-size:30px;font-weight:650;letter-spacing:-1.1px;line-height:1.25}h2{font-size:18px;font-weight:600;letter-spacing:-.35px}h3{font-size:15px;font-weight:600}p{line-height:1.65}small,.muted{color:var(--muted)}small{font-size:12px}.sub{color:var(--muted);margin-top:7px;line-height:1.6}.shell{display:flex;min-height:100vh}.sidebar{width:238px;background:#fff;border-right:1px solid var(--line);position:fixed;top:0;bottom:0;display:flex;flex-direction:column;padding:27px 18px 20px;z-index:20}.brand{display:flex;align-items:center;gap:9px;padding:0 14px;font-family:'Manrope',sans-serif;font-size:30px;letter-spacing:-2px;font-weight:800}.brandmark{display:grid;grid-template-columns:repeat(2,8px);gap:3px;transform:rotate(-13deg);margin-right:3px}.brandmark i{width:8px;height:8px;border-radius:3px;background:#264653}.brandmark i:last-child{background:#2a9d8f}.brand small{font-family:'DM Sans',sans-serif;letter-spacing:.6px;font-size:9px;font-weight:500;border:1px solid #d9e4e8;border-radius:5px;padding:3px 5px;margin:9px 0 0 5px}.tenant-switch{margin-top:35px;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;align-items:center;gap:10px;background:#f8fafb}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#edf4f5;color:#526a76;border-radius:10px;font-size:12px;font-weight:600;flex-shrink:0}.tenant-switch select{padding:0;border:0;background:transparent;font-size:12px;font-weight:600}.tenant-switch small{font-size:10px}.nav-label{text-transform:uppercase;font-size:10px;letter-spacing:1.3px;font-weight:600;color:#526a76;margin:27px 12px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:12px 14px;text-align:left;border-radius:8px;font-size:13px;color:#526a76}.nav button svg{width:18px;height:18px}.nav button.active{background:var(--light);color:#264653;font-weight:600}.nav button:hover{background:#edf4f5}.nav .badge{margin-left:auto;background:#d9e4e8;padding:1px 7px;font-size:10px;border-radius:4px;color:#526a76}.sidebar-foot{margin-top:auto;padding-top:25px}.plan-card{margin:15px 2px;padding:15px;background:#edf4f5;border:1px solid var(--line);border-radius:10px}.plan-card p{font-size:12px;margin-bottom:10px}.plan-card .link{font-size:11px}.profile{display:flex;gap:10px;padding:13px 10px 0;border-top:1px solid var(--line);align-items:center}.profile .avatar{border-radius:50%;background:#264653;color:#fff}.profile strong{font-size:12px}.workspace{margin-left:238px;flex:1;min-width:0}.topbar{height:77px;background:rgba(255,255,255,.8);display:flex;justify-content:space-between;align-items:center;padding:0 38px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:10px;color:#526a76;font-size:12px}.breadcrumb b{color:#526a76;font-weight:500}.top-actions{display:flex;align-items:center;gap:18px}.demo-tag{display:flex;align-items:center;gap:6px;font-size:11px;color:#526a76}.dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:currentColor}.text-btn,.link{border:0;background:none;padding:0;display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:500;color:var(--accent);text-decoration:none}.text-btn svg,.link svg{width:15px;height:15px}.main{max-width:1480px;margin:auto;padding:36px 38px 30px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#526a76;font-weight:600;margin-bottom:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:550;white-space:nowrap;text-decoration:none;min-height:40px}.btn svg{width:16px;height:16px}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.dark{background:#264653;color:#fff;border-color:#264653}.btn.ghost{background:transparent}.btn.small{padding:7px 11px;min-height:32px;font-size:11px}.btn.danger{color:#a13d2e;border-color:#efc4b5}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;width:34px;height:34px;display:inline-grid;place-items:center}.icon-btn svg{width:16px;height:16px}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 21px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#526a76;font-size:12px}.stat-top svg{width:17px;height:17px;color:#526a76}.stat-number{font-family:'Manrope',sans-serif;font-size:30px;letter-spacing:-1px;margin:12px 0 6px;font-weight:600}.stat small{font-size:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;gap:12px}.panel-head h2{font-size:15px}.panel-body{padding:0 22px 22px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:23px}.greeting{border:1px solid #d9e4e8;background:#fff4d8;border-radius:12px;padding:22px;position:relative;overflow:hidden;margin-bottom:20px}.greeting h2{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.2;max-width:190px;letter-spacing:-.7px}.greeting p{font-size:11px;color:#526a76;max-width:190px;margin-top:11px;margin-bottom:23px}.greeting:after{content:'✳';position:absolute;font-size:110px;color:#e9c46a;right:-15px;bottom:5px;line-height:1;transform:rotate(10deg);pointer-events:none}.greeting .btn{position:relative;z-index:1}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:0 22px 14px;border-bottom:1px solid var(--line);padding-bottom:18px}.day-card{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:9px;border-radius:10px;padding:11px 4px;color:#526a76}.day-card strong{font-size:17px;font-weight:500;color:#264653}.day-card small{font-size:10px;text-transform:lowercase}.day-card.active{background:#264653;color:#fff}.day-card.active strong,.day-card.active small{color:#fff}.day-card .dot{width:4px;height:4px}.appt-list{padding:0 22px 3px}.appt{display:grid;grid-template-columns:53px 3px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #edf4f5}.appt:last-child{border:0}.appt time{font-size:12px;color:#526a76}.appt .rail{height:37px;border-radius:5px;background:#2a9d8f}.appt:nth-child(even) .rail{background:#e76f51}.appt h3{font-size:12px;margin-bottom:5px}.appt p{font-size:11px;color:#526a76}.appt .end{font-size:11px;text-align:right;color:#526a76}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:5px;padding:5px 8px;background:#e4f3f0;color:#526a76;white-space:nowrap}.status.purple{background:#ffe9dd;color:#526a76}.status.grey{background:#edf4f5;color:#526a76}.status.red{background:#fff0e9;color:#a13d2e}.panel-footer{border-top:1px solid var(--line);padding:15px 22px;display:flex;justify-content:space-between;align-items:center;color:#526a76;font-size:10px}.legend{display:flex;gap:14px;font-size:10px;color:#526a76}.source-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:11px}.source-row .bar{height:4px;background:#edf4f5;border-radius:3px;flex:1;margin-left:12px;max-width:85px}.source-row .bar i{display:block;height:100%;background:#2a9d8f;border-radius:3px}.source-row b{font-weight:500;width:20px;text-align:right}.source-icon{width:23px;height:23px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;font-size:10px;color:#526a76;margin-right:8px}.services-mini{margin-top:23px}.service-row{display:flex;align-items:center;gap:12px;padding:14px 22px;border-top:1px solid #edf4f5}.service-tile{height:42px;width:42px;border-radius:10px;background:#ffe9dd;color:#526a76;display:grid;place-items:center;flex-shrink:0;overflow:hidden}.service-tile svg{width:21px;height:21px}.service-tile:nth-child(3n){background:#ffe9dd}.service-tile img{width:100%;height:100%;object-fit:cover}.service-row h3{font-size:12px;margin-bottom:4px}.service-row small{font-size:10px}.service-row .price{margin-left:auto;font-size:12px}.bottom-note{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#526a76;margin-top:25px}.bottom-note span{display:flex;align-items:center;gap:5px}.bottom-note svg{height:12px;width:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:23px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;position:relative}.service-card .service-tile{width:58px;height:58px;border-radius:12px;margin-bottom:22px;background:#ffe9dd}.service-card h2{font-size:17px;margin-top:10px}.service-card p{color:var(--muted);font-size:12px;margin:12px 0 24px;min-height:60px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.service-card footer{padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px}.service-card .corner{position:absolute;right:18px;top:20px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:21px}.toolbar input{max-width:300px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:#526a76;font-size:10px;letter-spacing:.4px;text-transform:uppercase;padding:14px 22px;border-bottom:1px solid var(--line);background:#f8fafb}td{padding:17px 22px;border-bottom:1px solid #edf4f5;white-space:nowrap}td strong{display:block;font-size:12px;font-weight:550}td small{display:block;margin-top:4px;font-size:10px}tr:last-child td{border-bottom:0}.empty{padding:42px 20px;text-align:center;color:var(--muted);font-size:13px}.empty svg{display:block;margin:0 auto 12px;width:26px;height:26px}.notice{padding:13px 16px;border:1px solid #d9e4e8;background:#edf4f5;color:#526a76;border-radius:8px;font-size:11px;line-height:1.6;margin-bottom:21px}.notice.warning{background:#fff4d8;border-color:#fff4d8;color:#526a76}.fields{display:grid;gap:18px}.fields label{font-size:12px;font-weight:500;display:block}.fields label input,.fields label textarea,.fields label select{margin-top:7px}.fields .grid-2{gap:15px}.field-help{font-size:10px;color:var(--muted);margin-top:6px;font-weight:400;line-height:1.6}.check{display:flex!important;align-items:center;gap:9px;font-size:12px;font-weight:400!important}.check input{margin:0!important}.save-row{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row p{font-size:11px;color:var(--muted);margin-top:5px}.switch{width:33px;height:20px;position:relative;display:inline-block;flex-shrink:0}.switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;z-index:1;cursor:pointer}.switch span{position:absolute;inset:0;background:#d9e4e8;border-radius:20px}.switch span:before{content:'';height:14px;width:14px;position:absolute;left:3px;top:3px;background:white;border-radius:50%;transition:.15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{transform:translateX(13px)}.switch input:focus-visible+span{outline:3px solid #176d65}.hours-row{display:grid;grid-template-columns:28px 80px 1fr 12px 1fr;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.hours-row input{padding:8px}.calendar-scroll{overflow:auto}.calendar-grid{display:grid;grid-template-columns:46px repeat(5,minmax(125px,1fr));min-width:680px}.cal-col{position:relative;border-left:1px solid var(--line);height:540px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#edf4f5 59px,#edf4f5 60px)}.cal-col.closed{background:repeating-linear-gradient(135deg,#edf4f5 0,#edf4f5 4px,#f8fafb 4px,#f8fafb 9px)}.cal-head{height:65px;text-align:center;border-bottom:1px solid var(--line);padding-top:12px}.cal-head small{display:block;font-size:10px;margin-bottom:5px}.cal-head strong{font-size:15px;font-weight:500}.cal-hours{display:flex;flex-direction:column;font-size:10px;color:#526a76}.cal-hours span{height:60px;padding:0 6px}.cal-event{position:absolute;left:5px;right:5px;background:#e4f3f0;border:1px solid #d9e4e8;border-left:3px solid #2a9d8f;border-radius:5px;padding:7px;text-align:left;overflow:hidden;font-size:9px}.cal-event:nth-child(even){background:#ffe9dd;border-color:#ffe9dd;border-left-color:#e76f51}.cal-event strong{display:block;font-weight:550;font-size:10px;margin-bottom:4px}.cal-event small{font-size:9px;color:#526a76}.blocked-label{text-align:center;padding:25px 5px;color:#526a76;font-size:11px}.integration{padding:19px;border:1px solid var(--line);border-radius:10px;margin-top:15px}.integration h3{display:flex;align-items:center;gap:10px}.integration p{font-size:12px;color:var(--muted);margin:10px 0 15px}.code{display:block;background:#edf4f5;border:1px solid #d9e4e8;border-radius:9px;padding:18px;white-space:pre-wrap;word-break:break-all;font:11px/1.8 ui-monospace,monospace;color:#526a76;margin:16px 0}.widget-stage{background:#edf4f5;padding:35px;border-radius:12px;min-height:380px;display:grid;place-items:center;position:relative;border:1px solid #d9e4e8}.mock-site{background:#fff;width:100%;max-width:390px;border-radius:10px;box-shadow:0 8px 20px #2646530b;padding:20px}.mock-nav{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#526a76;border-bottom:1px solid var(--line);padding-bottom:14px}.mock-hero{padding:32px 0 23px}.mock-hero h2{font:30px/1.2 var(--serif);max-width:230px}.mock-hero p{font-size:11px;margin-top:10px;color:var(--muted);max-width:230px}.mock-hero .btn{margin-top:20px}.widget-caption{position:absolute;bottom:13px;font-size:10px;color:#526a76}.email-preview{background:#edf4f5;border:1px solid var(--line);border-radius:10px;padding:25px}.email-preview .email-card{padding:30px;background:white;border:1px solid var(--line);border-radius:10px}.email-brand{font-family:var(--serif);font-size:22px;display:block;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:22px}.email-preview p{font-size:12px;white-space:pre-wrap;line-height:1.9}.kanban{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;overflow:auto}.kanban-col{background:#edf4f5;border-radius:12px;padding:16px;min-height:390px}.kanban-col h3{font-size:12px;margin-bottom:20px;display:flex;justify-content:space-between}.lead-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px;margin-bottom:12px}.lead-card h3{margin:10px 0 4px}.lead-card p{font-size:11px;color:var(--muted)}.lead-card select{font-size:10px;padding:7px;margin-top:13px}.plan-step{display:flex;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding:22px 0}.plan-step .number{width:32px;height:32px;background:var(--light);display:grid;place-items:center;border-radius:50%;font-size:12px;flex-shrink:0}.plan-step p{font-size:12px;margin-top:8px;color:var(--muted)}.plan-step ul{padding-left:16px;font-size:12px;color:var(--muted);line-height:2}.mobile-toggle{display:none}.mobile-shade{display:none}dialog{padding:0;border:0;border-radius:16px;width:min(580px,calc(100vw - 32px));max-height:90dvh;box-shadow:0 20px 100px #26465333;color:var(--text)}dialog::backdrop{background:#26465370;backdrop-filter:blur(3px)}.modal-head{padding:23px 26px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-head h2{font-size:19px}.modal-body{padding:25px 26px}.modal-body p{font-size:13px}.modal-body .service-image{width:100%;max-height:250px;object-fit:cover;border-radius:10px;margin-bottom:20px}.modal-body .code{max-height:240px;overflow:auto}dialog.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:550px;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:18px 0 0 18px;overflow:auto}.booking-top{padding:25px 29px 18px;display:flex;align-items:center;justify-content:space-between}.booking-brand{display:flex;align-items:center;gap:10px}.booking-brand strong{font-size:14px;display:block}.booking-brand small{font-size:10px}.booking-top .avatar{background:var(--light);color:var(--accent)}.steps{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 29px 0;padding:20px 0;border-bottom:1px solid var(--line)}.step{font-size:10px;color:#526a76;display:flex;align-items:center;gap:7px}.step i{font-style:normal;width:21px;height:21px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:9px}.step.active{color:var(--accent);font-weight:600}.step.active i{background:var(--accent);color:white;border-color:var(--accent)}.step.done i{background:var(--light);color:var(--accent)}.step-line{height:1px;background:var(--line);flex:1;max-width:40px}.booking-body{padding:28px 29px 20px}.booking-body h1{font-family:var(--serif);font-weight:400;font-size:31px;letter-spacing:-.7px}.booking-body>.sub{font-size:12px;margin-bottom:22px}.booking-service{padding:17px;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:12px;margin-bottom:11px;background:#fff;transition:.2s}.booking-service.selected{border-color:var(--accent);background:#e4f3f0;box-shadow:0 0 0 1px var(--accent)}.booking-service .select-service{background:none;border:0;text-align:left;padding:0;flex:1}.booking-service h3{font-size:13px;margin-bottom:6px}.booking-service small{font-size:10px}.booking-service .service-tile{height:43px;width:43px}.radio-dot{height:17px;width:17px;border:1px solid #d9e4e8;border-radius:50%;margin-left:5px;flex-shrink:0;background:#fff}.selected .radio-dot{border:5px solid var(--accent)}.service-info{font-size:10px;margin-top:8px}.booking-footer{padding:18px 29px 25px;border-top:1px solid var(--line);background:white}.booking-footer .btn{width:100%;min-height:44px;font-size:12px}.powered{text-align:center;font-size:9px;color:#526a76;margin-top:17px;display:flex;align-items:center;justify-content:center;gap:4px}.powered svg{width:12px;height:12px}.booking-summary{padding:13px 15px;border-radius:9px;background:#edf4f5;display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:20px}.month-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.month-head strong{font-size:13px;text-transform:capitalize}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.month-grid small{text-align:center;font-size:10px;padding:7px}.month-grid button{border:0;background:#edf4f5;border-radius:8px;height:37px;font-size:12px}.month-grid button:disabled{background:transparent;opacity:.28}.month-grid button.selected{background:var(--accent);color:white}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 8px}.time-grid button{background:white;border:1px solid var(--line);padding:9px 0;border-radius:7px;font-size:11px}.time-grid button.selected{border-color:var(--accent);background:var(--light);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.success{text-align:center;padding:25px 0}.success-icon{height:68px;width:68px;border-radius:50%;display:grid;place-items:center;background:var(--light);color:var(--accent);margin:0 auto 24px}.success-icon svg{width:30px;height:30px}.success h1{font-size:32px}.success p{font-size:12px;margin-top:13px;color:var(--muted)}.success-card{text-align:left;border:1px solid var(--line);padding:20px;border-radius:10px;margin:24px 0}.success-card .flex{font-size:12px;margin-bottom:14px}.success-card .flex:last-child{margin:0}.standalone{min-height:100dvh;padding:40px 16px;display:flex;justify-content:center;background:#edf4f5}.standalone .book-shell{width:530px;max-width:100%;height:fit-content;background:white;border:1px solid #d9e4e8;border-radius:16px;box-shadow:0 12px 40px #26465308;overflow:hidden}.demo-banner{padding:8px 12px;background:#fff4d8;color:#526a76;font-size:10px;text-align:center}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details-grid small{display:block;margin-bottom:6px}.details-grid p{font-size:12px}.info-inline{padding:15px;border:1px solid var(--line);border-radius:10px;margin-bottom:17px;font-size:12px;line-height:1.7;background:#edf4f5}.info-inline img{max-height:160px;width:100%;object-fit:cover;border-radius:8px}.info-inline p{margin:10px 0}.section-gap{margin-top:24px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(80px);opacity:0;transition:.2s;background:#264653;color:#fff;border-radius:10px;padding:14px 22px;font-size:12px;box-shadow:0 6px 20px #26465322;z-index:100;max-width:90vw;pointer-events:none}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.tenant-card{padding:24px}.tenant-card .avatar{height:47px;width:47px;font-size:14px}.tenant-card .metrics{display:flex;gap:25px;margin:24px 0;font-size:12px}.tenant-card .metrics strong{display:block;font-size:22px;margin-bottom:5px}.tenant-card .metrics small{font-size:10px}.error-msg{padding:12px;background:#fff0e9;border-radius:7px;color:#a13d2e;font-size:12px;margin:12px 0}.segmented{display:flex;gap:3px;border:1px solid var(--line);border-radius:8px;background:#edf4f5;padding:3px}.segmented button{border:0;background:transparent;padding:8px 13px;font-size:11px;border-radius:5px;color:var(--muted)}.segmented button.active{background:white;box-shadow:0 1px 4px #26465310;color:var(--text)}
@media(min-width:1500px){.main{padding-top:45px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px}.stat{padding:24px}.appt{padding:21px 0}}
@media(max-width:1200px){.sidebar{width:210px}.workspace{margin-left:210px}.main{padding:28px 25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.stat{padding:17px 15px}.stat-top{font-size:10px}.grid-3{grid-template-columns:repeat(2,1fr)}.heading h1{font-size:27px}.greeting{padding:20px}}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}.greeting{margin:0}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.fields .grid-2{grid-template-columns:1fr 1fr}.heading{align-items:flex-start}.heading .btn{padding:10px 12px}.top-actions{gap:10px}.top-actions .demo-tag{display:none}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.2s;width:238px}.sidebar.open{transform:translateX(0)}.mobile-shade.open{display:block;position:fixed;inset:0;background:#26465355;z-index:19}.workspace{margin-left:0}.mobile-toggle{display:inline-grid}.topbar{height:63px;padding:0 18px}.breadcrumb{font-size:10px;gap:8px}.top-actions .text-btn{font-size:10px}.main{padding:25px 18px}.heading{gap:12px;margin-bottom:22px}.heading h1{font-size:25px}.heading .sub{font-size:11px}.heading .btn{font-size:10px;min-height:36px;padding:8px 10px}.heading .btn svg{width:14px}.stats{gap:10px}.stat{padding:16px}.stat-number{font-size:27px}.dashboard-side{grid-template-columns:1fr}.greeting h2,.greeting p{max-width:250px}.grid-3{grid-template-columns:1fr}.panel-head,.appt-list{padding-left:17px;padding-right:17px}.week-strip{margin-left:14px;margin-right:14px}.appt{gap:10px;grid-template-columns:44px 3px minmax(0,1fr) auto}.appt h3{font-size:11px}.appt p{font-size:10px}.bottom-note{font-size:8px;gap:12px}.legend{gap:8px}.calendar-controls{flex-wrap:wrap}.widget-stage{padding:22px}.fields .grid-2{grid-template-columns:1fr 1fr}.details-grid{gap:15px}.booking-body{padding:24px 21px 16px}.booking-top{padding:20px 21px 14px}.steps{margin:0 21px;padding:16px 0}.booking-footer{padding:18px 21px 23px}.booking-body h1{font-size:28px}.standalone{padding:12px}.standalone .book-shell{border-radius:12px}.modal-head{padding:20px}.modal-body{padding:22px 20px}dialog.drawer{border-radius:0}.panel-head .btn{font-size:10px}.hours-row{grid-template-columns:20px 60px 1fr 8px 1fr;gap:6px}.hours-row input{padding:7px 4px;font-size:11px}.kanban{grid-template-columns:repeat(3,260px)}.service-card p{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}.subscription-strip{display:flex;align-items:center;gap:8px;margin-top:20px}.subscription-strip>span:last-child{font-size:10px;color:var(--muted)}.admin-details{border:1px solid var(--line);border-radius:10px;padding:15px}.admin-details summary{cursor:pointer;font-size:12px;font-weight:500}.admin-details summary span{font-weight:400;color:var(--muted);font-size:10px;margin-left:6px}.admin-details[open] summary{margin-bottom:20px}.tenant-card .flex.between{align-items:flex-start}.tenant-card .flex.between>.flex{min-width:0}.tenant-card h2{overflow-wrap:anywhere}.tenant-card .metrics{flex-wrap:wrap;gap:20px}

/* Each business owns one small palette; preview variables never affect the editor. */
.btn.primary{color:var(--on-accent,#fff)}
.branding-fields{border:0;padding:0;margin:0;min-width:0}
.branding-fields legend{padding:0;font-weight:600;font-size:14px}
.brand-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.brand-color-input{display:flex;align-items:center;gap:7px;margin-top:8px}
.brand-color-input input{margin:0!important}
.brand-color-input input[type=color]{width:36px;height:38px;flex-shrink:0;padding:2px;cursor:pointer}
.brand-color-input input[type=text],.brand-color-input input:not([type]){font:11px ui-monospace,monospace;padding:11px 7px}
.brand-color-input input:invalid:not(:focus){border-color:#a13d2e}
.brand-color-grid .field-help{font-size:10px}
.tenant-palette{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.palette-swatches{display:inline-flex;gap:6px}
.palette-swatches i{width:22px;height:22px;border-radius:50%;border:1px solid #0002;box-shadow:inset 0 0 0 2px #fff8}
.brand-preview{width:100%;max-width:440px;border:1px solid var(--brand-line);border-radius:13px;padding:22px}
.brand-preview-top{display:flex;align-items:center;gap:10px;font-size:13px}
.brand-preview-top strong{min-width:0;overflow-wrap:anywhere}
.brand-preview-caption{margin-left:auto;font-size:8px;letter-spacing:1px;color:var(--muted)}
.brand-preview-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand-secondary);color:var(--on-secondary);flex-shrink:0}
.brand-preview-symbol svg{width:18px;height:18px}
.brand-preview-steps{display:flex;justify-content:space-between;gap:8px;padding:21px 0 18px;font-size:10px;color:var(--muted)}
.brand-preview-steps b{color:var(--brand-link)}
.brand-preview h3{font:25px/1.2 var(--serif);margin:7px 0}
.brand-preview>p{font-size:11px;color:var(--muted)}
.brand-preview-service{display:flex;align-items:center;gap:11px;border:1px solid var(--brand-line);background:var(--brand-surface);border-radius:9px;padding:15px 12px;margin:20px 0 16px;font-size:12px}
.brand-preview-service>svg{margin-left:auto;width:17px;color:var(--brand-link)}
.brand-preview-service small{display:block;font-size:10px;margin-top:5px}
.brand-preview-cta{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:var(--on-accent);padding:12px;border-radius:8px;font-size:12px;font-weight:600}
.brand-preview-note{display:block;text-align:center;font-size:9px;margin-top:12px}
.widget-stage .brand-preview{margin-bottom:12px;box-shadow:0 8px 25px #0000000a}
.booking-theme{--text:var(--brand-text);--muted:var(--brand-muted);--line:var(--brand-line);background:var(--brand-bg);color:var(--text)}
.booking-theme :is(.book-shell,.booking-footer){background:var(--brand-bg);border-color:var(--line)}
.booking-theme :is(.booking-service,.time-grid button,.btn:not(.primary),input,textarea,select){background:var(--brand-surface);color:var(--text);border-color:var(--line)}
.booking-theme :is(.booking-summary,.info-inline,.month-grid button,.booking-service.selected){background:var(--brand-surface)}
.booking-theme :is(.eyebrow,.link,.text-btn,a,.step.active){color:var(--brand-link)}
.booking-theme :is(.step,.powered){color:var(--muted)}
.booking-theme :is(.step.active i,.month-grid button.selected){background:var(--accent);color:var(--on-accent)}
.booking-theme :is(.booking-top .avatar,.service-tile,.step.done i,.success-icon){background:var(--brand-secondary);color:var(--on-secondary)}
.booking-theme .time-grid button.selected{background:var(--accent);color:var(--on-accent)}
.booking-theme :is(.booking-service.selected,.time-grid button.selected){border-color:var(--brand-link);box-shadow:0 0 0 1px var(--brand-link)}
.booking-theme .selected .radio-dot{border-color:var(--brand-link)}
.booking-theme .notice{background:var(--brand-surface);border-color:var(--line);color:var(--muted)}
.booking-theme :is(button,a,input,select,textarea):focus-visible{outline-color:var(--brand-link)}
@media(max-width:480px){.brand-color-grid{grid-template-columns:1fr}.brand-color-grid>div{display:grid;grid-template-columns:1fr 140px;align-items:center;column-gap:10px}.brand-color-input{grid-column:2;grid-row:1/3;margin-top:0}.brand-color-grid .field-help{grid-column:1;margin-top:3px}.brand-preview{padding:18px}.brand-preview h3{font-size:23px}.widget-stage{padding:18px 14px 32px}}

.brand-font-field{margin-top:20px}
.booking-theme,.booking-theme :is(h1,h2,h3,button,input,textarea,select){font-family:var(--brand-font,'DM Sans',Arial,sans-serif)}
.booking-theme :is(h1,h2,h3){overflow-wrap:anywhere}

/* Motion stays local to booking; only new steps and new date results animate. */
@keyframes slot-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes slot-popup-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes slot-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes slot-step-forward{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
@keyframes slot-step-back{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
@keyframes slot-times-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes slot-success-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
dialog.booking-theme[open]{animation:slot-popup-in 180ms ease-out}
dialog.booking-theme.drawer[open]{animation:slot-drawer-in 240ms cubic-bezier(.2,.7,.25,1)}
dialog.booking-theme[open]::backdrop{animation:slot-backdrop-in 180ms ease-out}
.booking-body.step-forward{animation:slot-step-forward 180ms ease-out}
.booking-body.step-back{animation:slot-step-back 180ms ease-out}
.times-enter{animation:slot-times-in 160ms ease-out}
.step-forward .success-icon{animation:slot-success-in 220ms ease-out}
.booking-theme :is(.btn,.icon-btn,.month-grid button,.time-grid button,.radio-dot){transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease}
.booking-theme .select-service{display:block;width:100%}
.booking-theme #booking-step-title:focus{outline:none}
@media(hover:hover){
 .booking-theme .booking-service:has(.select-service:hover,.radio-dot:hover){border-color:var(--brand-link);box-shadow:0 2px 10px #00000008}
 .booking-theme :is(.month-grid button,.time-grid button):not(:disabled):hover{box-shadow:0 0 0 1px var(--brand-link)}
 .booking-theme .btn:not(:disabled):hover{transform:translateY(-1px)}
}
.booking-theme .btn:not(:disabled):active{transform:translateY(0)}

/* Platform wordmark; tenant branding remains on the customer-facing flow. */
.brand{padding:0;gap:8px;letter-spacing:0;font-size:14px}
.brandmark{flex-shrink:0;margin-right:0}
.brand-copy{display:block;min-width:0}
.brand-name{display:block;font-size:13.5px;letter-spacing:-.45px;line-height:1.4;white-space:nowrap}
.brand-domain{color:#264653}
.brand small{display:block;border:0;padding:0;margin:4px 0 0;font-size:10px;letter-spacing:.3px;font-weight:400;color:#526a76}
.powered{flex-wrap:wrap}

/* Platform colors stay independent of every client's booking theme. */
:root{--platform-navy:#264653;--platform-teal:#2a9d8f;--platform-jasmine:#e9c46a;--platform-sand:#f4a261;--platform-coral:#e76f51;--accent:var(--platform-navy);--on-accent:#fff;--light:#e4f3f0}
.brandmark i:nth-child(2){background:var(--platform-teal)}
.brandmark i:nth-child(3){background:var(--platform-jasmine)}
.brandmark i:last-child{background:var(--platform-coral)}
.brand-domain{color:#176d65}
.nav button.active{color:#176d65;background:#e4f3f0;box-shadow:inset 3px 0 0 var(--platform-teal)}
.nav button:hover:not(.active){background:#f0f5f7}
.nav button.active .badge{background:#ccebe5;color:#145c55}
.tenant-switch .avatar{background:#e4edf1;color:var(--platform-navy)}
.profile .avatar{background:var(--platform-navy)}
.shell :is(.link,.text-btn){color:#176d65}
.demo-tag{color:#775725}
.greeting{background:#fff4d8;border-color:#f1d89a}
.greeting p{color:#655b41}
.greeting:after{color:var(--platform-jasmine)}
.stat:nth-child(1) .stat-top svg{color:var(--platform-teal)}
.stat:nth-child(2) .stat-top svg{color:#aa782a}
.stat:nth-child(3) .stat-top svg{color:#c76a31}
.stat:nth-child(4) .stat-top svg{color:#be4934}
.appt .rail{background:var(--platform-teal)}
.appt:nth-child(even) .rail{background:var(--platform-coral)}
.status{background:#e4f3f0;color:#176d65}
.status.purple{background:#fff0df;color:#7c4d28}
.status.grey{background:#edf4f5;color:#526a76}
.status.red{background:#ffe9dd;color:#a13d2e}
.notice.warning,.demo-banner{background:#fff4d8;border-color:#f1d89a;color:#705422}
.shell .service-tile{background:#ffe9dd;color:#9c4d30}
.shell .service-card .service-tile{background:#fff0df;color:#8b5c24}
.cal-event{background:#e4f3f0;border-color:#bbdfd8;border-left-color:var(--platform-teal)}
.cal-event:nth-child(even){background:#fff0e9;border-color:#f3d1c3;border-left-color:var(--platform-coral)}
.switch input:checked+span{background:var(--platform-teal)}
.kanban-col:nth-child(1){border-top:4px solid var(--platform-teal)}
.kanban-col:nth-child(2){border-top:4px solid var(--platform-jasmine)}
.kanban-col:nth-child(3){border-top:4px solid var(--platform-coral)}
