:root{font-family:DM Sans,system-ui,sans-serif;color:#263f3a;background:#f7f8f5;font-synthesis:none;font-weight:400;--green: #164f46;--muted: #64736d;--line: #e2e7e1;--soft: #eaf1e9;--white: #fff;--danger: #a03131}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{border:1px solid transparent;background:var(--green);color:#fff;min-height:46px;padding:11px 19px;border-radius:10px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ce8d29;outline-offset:3px}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(28px,3.5vw,42px);letter-spacing:-1.4px;line-height:1.2;margin:10px 0 24px;font-weight:700}h2{font-size:23px;letter-spacing:-.6px;line-height:1.35}h3{font-size:18px}p{line-height:1.65}small{font-size:12px;line-height:1.5;color:var(--muted);display:block}label{font-size:14px}.field{display:flex;flex-direction:column;gap:7px;margin:15px 0;min-width:0}.field>label{font-weight:600}input,select,textarea{width:100%;min-height:47px;padding:12px;border:1px solid #cbd6cf;border-radius:9px;color:#253f37;background:#fff}input[type=checkbox]{width:19px;min-height:19px;height:19px;accent-color:var(--green);flex-shrink:0}textarea{min-height:86px;resize:vertical}input::placeholder,textarea::placeholder{color:#74827a}form small{margin-top:12px}code{overflow-wrap:anywhere}.brand{display:inline-flex;align-items:center;text-decoration:none;font-size:27px;letter-spacing:-1.2px;font-weight:800;color:#21483e}.brand>span:last-child{font-weight:500}.brand-icon{display:inline-grid;place-items:center;background:var(--green);color:#fff;width:40px;height:40px;border-radius:12px;margin-right:10px;font-size:28px;letter-spacing:-3px;padding-right:4px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0 0 12px}.muted{color:var(--muted);font-size:14px}.secondary{background:#fff;color:var(--green);border-color:#d4ded7}.text-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:transparent;color:var(--green);padding:9px 8px;text-decoration:none;font-size:14px;font-weight:600}.icon-btn{min-width:44px;min-height:44px;padding:7px;background:transparent;color:var(--green);font-size:23px}.full{width:100%;margin-top:15px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;gap:10px;align-items:center;margin:20px 0;line-height:1.6;flex-wrap:wrap}.check a{display:inline}.notice{padding:17px 20px;background:#edf2e7;border:1px solid #d6dfcb;border-radius:10px;font-size:14px;line-height:1.6;margin:20px 0}.notice h2{margin-top:0}.error{background:#fff0ec;border-color:#f1cbc1;color:#882c20}.toast{display:flex;align-items:center;justify-content:space-between;border:1px solid #cbdcca;background:#edf5e9;padding:10px 17px;border-radius:10px;margin-bottom:20px;font-size:14px}.danger{color:#fff;background:var(--danger)}.danger.secondary{background:#fff;color:var(--danger);border-color:#e8caca}.empty{padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed #d1ddd2;border-radius:12px;margin:24px 0}.empty>span{font-size:34px;color:#a0b49a}.empty p{margin:12px 0 0}.loading{padding:70px 24px;text-align:center;color:var(--muted)}.auth-shell{max-width:530px;margin:9vh auto;padding:24px}.auth-shell>.brand{margin-bottom:60px}.auth-shell h1{font-size:clamp(40px,6vw,62px);letter-spacing:-2.5px}.intro{color:var(--muted);font-size:18px;margin-bottom:30px}.app-shell{display:flex;min-height:100vh}.sidebar{width:247px;position:fixed;top:0;bottom:0;padding:34px 22px;background:#f0f3ed;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.workspace-label{font-size:9px;color:#76816e;letter-spacing:1.3px;font-weight:700;margin:52px 11px 20px}.nav-item{display:flex;align-items:center;gap:14px;text-align:left;width:100%;margin-bottom:7px;border-radius:9px;background:none;color:#586b5d;font-size:14px;min-height:48px;padding:12px 15px}.nav-item>span{font-size:23px;width:24px;text-align:center}.nav-item.active{color:var(--green);background:#dce8d9;font-weight:700}.sidebar-bottom{margin-top:auto}.public-link{display:block;font-size:13px;text-decoration:none;padding:14px 9px;margin-bottom:23px;border-bottom:1px solid #d9e1d5}.provider-id{display:flex;align-items:center;gap:10px;font-size:12px}.provider-id strong{display:block;font-size:13px}.sidebar-bottom>.text-btn{font-size:11px;margin-top:13px}.avatar{width:80px;height:80px;background:#e6eddf;color:#3c6452;display:inline-grid;place-items:center;font:600 32px Manrope,sans-serif;border-radius:24px}.avatar.small{width:37px;height:37px;min-width:37px;border-radius:12px;font-size:16px}.workspace{margin-left:247px;width:calc(100% - 247px);padding:44px 52px 60px;max-width:1700px}.workspace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}.workspace-header h1{font-size:32px;margin:10px 0}.primary-add{box-shadow:0 5px 15px #164f4614;white-space:nowrap}.calendar-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.calendar-toolbar .field{margin:0}.calendar-toolbar .field>label{position:absolute;left:-10000px}.calendar-toolbar input{background:transparent;border:none;max-width:155px;font-weight:600;padding:8px}.calendar-toolbar .row{gap:5px}.segmented{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:#ecefe9}.segmented button{min-height:35px;padding:7px 15px;background:transparent;color:var(--muted);font-size:12px}.segmented .selected{background:#fff;color:var(--green);box-shadow:0 1px 4px #00000009}.day-summary{display:flex;align-items:center;justify-content:space-between;margin:20px 0 17px;gap:12px}.day-summary h2{font-size:21px;text-transform:capitalize}.day-summary>span{font-size:12px;color:var(--muted)}.dot{padding:0 8px}.agenda{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.agenda-title{display:none}.free-slot{display:flex;align-items:center;gap:20px;width:100%;border:0;border-bottom:1px solid #edf0eb;border-radius:0;background:#fff;color:#a1aaa3;min-height:53px;text-align:left;font-weight:400}.free-slot time{width:56px;color:#66766c;font-size:12px}.free-slot span{opacity:0;font-size:12px;flex:1}.free-slot b{opacity:0;font-size:18px}.free-slot:hover span,.free-slot:hover b,.free-slot:focus-visible span,.free-slot:focus-visible b{opacity:1}.free-slot:hover{background:#f3f7f0;filter:none}.free-slot.outside{background:#f8f9f7}.appointment{display:flex;gap:20px;align-items:center;text-align:left;color:#254e3c;background:#eef4e8;border-radius:9px;margin:8px 12px;width:calc(100% - 24px);padding:16px 15px;border-left:3px solid #718e58;min-height:88px}.appointment time{font-size:13px;min-width:49px;font-weight:600}.appointment time small{font-size:11px;font-weight:400;margin-top:6px}.appointment>div{flex:1}.appointment strong{display:block;font-size:15px}.appointment div>span{display:block;font-size:12px;margin:5px 0}.appointment small{font-size:10px}.appointment .status{border:1px solid #d7e4cc;background:#f7faf2;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:500}.appointment.cancelled{background:#f6f1ef;color:#86695f;border-left-color:#c2a496;opacity:.8}.appointment.completed{background:#edf4f3;border-left-color:#5c9a8e}.appointment.no_show{background:#fcf3e7;border-left-color:#c99f65}.blocked-slot{display:flex;gap:20px;align-items:center;background:repeating-linear-gradient(135deg,#f3f2ee,#f3f2ee 6px,#eeede8 6px 7px);color:#776f60;border-radius:8px;margin:8px 12px;padding:20px 15px;font-size:12px}.blocked-slot strong{font-weight:500}.calendar.week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:7px;overflow-x:auto;padding-bottom:12px}.week .agenda-title{display:block;font-size:12px;padding:10px;margin:0;min-height:55px}.week .free-slot{gap:5px;padding:10px}.week .appointment{display:block;padding:9px;margin:5px;width:calc(100% - 10px)}.week .appointment time small{display:inline;margin-left:6px}.week .appointment .status{display:inline-block;margin-top:8px}.week .appointment strong{margin-top:9px;font-size:13px}.week .blocked-slot{display:block;padding:10px;margin:5px}.calendar-hint{font-size:11px;margin-top:20px}.modal{position:fixed;inset:0;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 80px #182e342a;width:min(600px,calc(100vw - 32px));padding:26px;max-height:90dvh;overflow:auto;color:#263f3a;background:#fff}.modal::backdrop{background:#162f3260;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.modal-head h2{margin:0 0 10px}.modal-head button{align-self:flex-start;margin-top:-6px}.item-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;align-items:center;background:#f7f9f5;border-radius:10px;padding:4px 12px;margin:10px 0}.item-row:has(>.field:last-child){grid-template-columns:1fr 1.5fr}.item-row .field{font-size:12px}.item-row .icon-btn{padding:0;min-width:30px}.suggestions{display:flex;flex-direction:column;gap:5px}.suggestions button{text-align:left;font-size:13px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.line-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.service-list,.customer-list{margin-top:30px}.service-row,.customer-row{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);width:100%;padding:22px;margin-bottom:10px;text-align:left;color:#294b3b;border-radius:13px}.service-row>div,.customer-row>div{flex:1}.service-row strong,.customer-row strong{display:block;font-size:16px;margin-bottom:7px}.service-row>span:last-child{font-size:12px}.service-icon{background:#edf2e8;font-size:25px;padding:10px 15px;border-radius:12px}.counts{display:flex;gap:20px;justify-content:space-between;padding:25px 0;font-size:11px;color:var(--muted)}.counts strong{font-size:24px;display:block;color:var(--green)}.history-row{background:transparent;color:var(--green);width:100%;border-bottom:1px solid var(--line);text-align:left;border-radius:0}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 35px}.settings-tabs button{font-size:12px;min-height:40px}.settings-panel{max-width:680px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:14px}.settings-panel h2{margin-top:0}.settings-panel a{overflow-wrap:anywhere}.hours-day{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.hours-day>strong{min-width:95px}.interval{display:inline-flex;align-items:center;border-radius:9px;background:#f1f5ed;padding-left:10px;font-size:12px}details{margin:20px 0}summary{cursor:pointer;padding:12px 0;font-size:14px}.public-shell{max-width:740px;padding:28px;margin:auto}.public-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-hero{text-align:center;padding:65px 20px 40px}.profile-hero .avatar{margin-bottom:25px}.profile-hero h1{margin:8px 0;font-size:40px}.profile-hero .profession{font-size:19px;margin:10px 0;color:#436d57}.profile-hero p{max-width:500px;margin-left:auto;margin-right:auto}.ai-panel{background:#e9efdf;border:1px solid #d7e2cc;border-radius:19px;padding:29px;margin-bottom:35px}.ai-panel h2{font-size:28px;margin:12px 0}.ai-panel .row small{margin:0;max-width:190px}.ai-panel .field>label{position:absolute;left:-10000px}.ai-panel textarea{background:#ffffffbd;border-color:#c9d7bf}.ai-panel>.text-btn{display:flex;letter-spacing:1px;font-size:10px;margin-top:15px}.booking-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:28px;scroll-margin-top:20px}.booking-panel>h2{margin-top:8px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.slots button{min-height:48px}.slots button[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px #164f46}.slots button[aria-pressed=true] small{color:#fff}.summary{background:#f2f6ed;padding:14px;border-radius:10px;font-size:14px}.summary small{margin-top:6px}.confirmation{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.confirmation h3{text-transform:capitalize}.confirmation p{font-size:14px}.public-shell footer{display:flex;justify-content:space-between;gap:15px;padding:25px 0;color:var(--muted);font-size:11px}.manage{max-width:630px;padding-top:45px}.manage>.brand{margin-bottom:50px}.manage h1{font-size:36px}.success-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid #d8e4d0;background:#e9f2e3;border-radius:50%;color:#3a6b39;font-size:27px;margin-bottom:25px}.big-time{font-size:32px;font-family:Manrope,sans-serif;font-weight:700;margin:15px 0}.manage>.row button{flex:1}@media(min-width:1450px){.workspace{padding-left:70px;padding-right:70px}.calendar:not(.week){max-width:1100px}}@media(max-width:1100px){.workspace{padding:30px 25px}.sidebar{width:210px;padding:30px 16px}.workspace{margin-left:210px;width:calc(100% - 210px)}.day-summary{align-items:flex-start;flex-direction:column;gap:0}.day-summary h2{margin-bottom:10px}.appointment .status{font-size:9px}.calendar-toolbar{flex-wrap:wrap}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;flex-direction:row;width:100%;height:76px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:#fafbf8;border-top:1px solid var(--line);border-right:0}.sidebar>.brand,.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:4px}.nav-item{flex-direction:column;justify-content:center;gap:3px;font-size:10px;min-height:56px;margin:0;padding:5px}.nav-item>span{font-size:21px}.workspace{margin:0;width:100%;padding:28px 17px 110px}.workspace-header{margin-bottom:15px}.workspace-header h1{font-size:27px}.workspace-header .eyebrow{font-size:9px;letter-spacing:1.5px}.primary-add{position:fixed;right:20px;bottom:92px;z-index:15;border-radius:50%;font-size:29px;width:56px;height:56px;padding:0;box-shadow:0 7px 24px #164f4633}.primary-add span{display:none}.calendar-toolbar{gap:15px;padding:12px 0}.calendar-toolbar .row{width:100%;justify-content:space-between}.calendar-toolbar .segmented{margin-left:auto}.day-summary h2{font-size:19px}.appointment{gap:12px;margin:7px;width:calc(100% - 14px);padding:14px 10px;flex-wrap:wrap}.appointment>div{min-width:130px}.appointment .status{font-size:9px;padding:4px 6px}.appointment strong{font-size:14px}.free-slot{padding:12px 16px;min-height:55px}.free-slot span{opacity:.8;font-size:10px}.free-slot b{opacity:.5}.blocked-slot{gap:12px;font-size:11px;margin:7px}.calendar.week{grid-template-columns:repeat(7,180px)}.settings-panel{padding:20px 16px}.settings-tabs{gap:6px;margin-bottom:20px}.settings-tabs button{padding:8px 10px;font-size:11px}.item-row,.item-row:has(>.field:last-child){grid-template-columns:1fr auto;gap:0 8px;padding:10px}.item-row>.field:nth-child(1){grid-column:1;grid-row:1}.item-row>.field:nth-child(2){grid-column:1/-1;grid-row:2}.item-row>.icon-btn{grid-column:2;grid-row:1}.item-row .field{margin:7px 0}.modal{padding:21px;max-height:92dvh}.modal h2{font-size:21px}.two-col{gap:10px}.service-row{gap:12px;padding:15px}.service-row>span:last-child{font-size:0}.service-row>span:last-child:after{content:"↗";font-size:18px}.service-icon{font-size:20px;padding:8px 12px}.service-row strong{font-size:15px}.public-shell{padding:22px 16px}.public-header .text-btn{font-size:11px}.brand{font-size:24px}.brand-icon{width:34px;height:34px;font-size:25px;border-radius:10px}.profile-hero{padding:45px 10px 30px}.profile-hero h1{font-size:34px}.profile-hero .profession{font-size:17px}.ai-panel,.booking-panel{padding:22px 17px;border-radius:14px}.ai-panel h2{font-size:24px}.ai-panel .row{flex-direction:column;align-items:stretch}.ai-panel .row small{max-width:none;font-size:11px}.slots{grid-template-columns:repeat(3,1fr);gap:8px}.public-shell footer{font-size:10px;flex-wrap:wrap}.auth-shell{margin:5vh auto;padding:24px}.auth-shell>.brand{margin-bottom:50px}.manage>.brand{margin-bottom:40px}.manage h1{font-size:30px}.line-item{font-size:13px}.check{font-size:12px}.action-grid{gap:8px}.action-grid button{font-size:12px;padding:10px}.calendar-hint{max-width:270px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
