
:root{--ink:#193c32;--muted:#708078;--green:#176448;--dark:#104d37;--pale:#edf4ee;--line:#e0e9e2;--bg:#f8faf7;--white:#fff;--lime:#d6e8bc;--shadow:0 12px 42px #183b2b09}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ebd53;outline-offset:3px}button:disabled{opacity:.43}a{color:var(--green)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Manrope',sans-serif}h1{font-size:48px;line-height:1.16;letter-spacing:-2.1px;font-weight:600}h2{font-size:25px;line-height:1.3;letter-spacing:-.8px;font-weight:650}h3{font-size:18px;letter-spacing:-.45px;font-weight:700}h4{font-size:14px}svg{flex-shrink:0}.icon{width:18px;height:18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.shell{max-width:1240px;margin:0 auto;padding:0 36px}.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:85px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:11px;align-items:center;border:0;background:transparent;padding:0;text-align:left}.brandmark{width:38px;height:38px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-8deg)}.brandmark i{background:var(--green);border-radius:7px 2px 7px 2px}.brandmark i:nth-child(2){opacity:.62}.brandmark i:nth-child(3){opacity:.35}.brandmark i:nth-child(4){opacity:.85}.brandname{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.8px;font-weight:750}.brandname small{display:block;font:10px/1.3 'DM Sans',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}.nav{display:flex;background:#f3f6f2;padding:5px;border-radius:11px;gap:3px}.nav button{background:transparent;border:0;border-radius:7px;padding:10px 17px;color:#748178;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;white-space:nowrap}.nav button.active{background:#fff;color:var(--green);box-shadow:0 2px 5px #12352410}.location{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}main{min-height:calc(100vh - 180px)}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;padding:47px 0 35px;gap:55px}.eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--green);margin-bottom:16px}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#659c65}.hero h1 span{color:#709b7e}.hero .subtitle{margin-top:19px;font-size:14px;color:var(--muted)}.hero-art{height:205px;border:1px solid #dfeade;background:#edf4e9;border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:center;padding:30px}.hero-art .hero-lines{position:absolute;width:245px;height:245px;right:-22px;top:-18px;opacity:.85}.hero-art .hero-copy{position:relative;max-width:180px;z-index:1}.hero-copy .mini-logo{display:inline-flex;width:38px;height:38px;background:white;align-items:center;justify-content:center;border-radius:50%;margin-bottom:16px;color:var(--green)}.hero-copy h3{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.8px}.hero-copy p{font-size:11px;color:#6e8476;margin-top:10px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:4px 0 20px;gap:20px}.section-label{display:flex;gap:11px;align-items:center}.section-label h2{font-size:20px}.count{background:#e8f0e7;color:#66816e;padding:2px 9px;border-radius:7px;font-size:12px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:8px;max-width:265px;color:var(--muted)}.search input{border:0;outline:none;background:none;min-width:0;width:100%;font-size:12px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.chip{border:1px solid var(--line);border-radius:24px;padding:8px 15px;background:#fff;font-size:12px;color:#728077}.chip.active{background:var(--green);border-color:var(--green);color:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.provider-card{padding:20px;background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s;display:flex;flex-direction:column}.provider-card:hover{transform:translateY(-3px);border-color:#9abd9d}.card-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}.portrait{width:78px;height:84px;border-radius:14px;overflow:hidden;flex-shrink:0;background:#edf3eb}.portrait svg{width:100%;height:100%}.provider-card h3{font-size:17px}.clinic-name{color:var(--muted);font-size:12px;margin:3px 0 6px}.specialty{display:inline-block;font-size:10px;color:#447456;background:#edf5ec;border-radius:5px;padding:3px 7px}.card-info{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-top:8px}.card-info .icon{width:14px;height:14px}.session-tags{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0 19px}.session-tags span{font-size:10px;border:1px solid #e7ece5;color:#7a867e;border-radius:4px;padding:3px 7px}.card-bottom{border-top:1px solid #edf0eb;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.price strong{font:600 21px/1.2 Manrope,sans-serif;letter-spacing:-.5px}.price span{color:var(--muted);font-size:10px}.price small{display:block;font-size:10px;color:#7b8e80;margin-top:3px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;border-radius:8px;background:var(--green);color:white;padding:12px 18px;font-size:12px;font-weight:600;transition:background .18s}.btn:hover{background:var(--dark)}.btn .icon{width:16px;height:16px}.btn.secondary{background:#fff;color:var(--green);border-color:var(--line)}.btn.secondary:hover{background:var(--pale)}.btn.soft{background:#ecf3e9;color:var(--green)}.btn.danger{background:#fff2ee;color:#a94732;border-color:#f1d6ce}.btn.wide{width:100%}.empty-card{border:1px dashed #cfded0;border-radius:15px;background:#edf4e980;padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}.empty-card .icon{width:26px;height:26px}.empty-card h3{font-weight:500;font-size:21px;line-height:1.35;max-width:240px}.empty-card p{font-size:12px;color:var(--muted);max-width:240px}.footer{max-width:1168px;margin:38px auto 0;padding:22px 0 28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#8b978e;font-size:10px}.footer .foot-logo{font-family:Manrope,sans-serif;font-size:12px;font-weight:600;color:#6c8275}.footer .foot-right{display:flex;gap:17px}.back{border:0;background:none;padding:0;color:#76877b;display:inline-flex;align-items:center;gap:6px;font-size:12px;margin:26px 0 20px}.back .icon{width:15px;height:15px}.page-head{display:flex;align-items:center;justify-content:space-between;margin:32px 0 28px;gap:16px}.page-head h1{font-size:33px;letter-spacing:-1px}.page-head p{color:var(--muted);font-size:13px;margin-top:6px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;box-shadow:var(--shadow)}.panel+.panel{margin-top:20px}.profile-heading{display:flex;gap:20px;align-items:center;margin-bottom:24px}.profile-heading .portrait{width:84px;height:92px}.profile-heading h2{margin-bottom:4px}.profile-heading p{color:var(--muted);font-size:12px}.steps{display:flex;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px;font-size:11px;color:#89958d}.steps span{display:flex;align-items:center;gap:6px}.steps i{font-style:normal;background:#f0f4ef;border-radius:50%;width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center}.steps .current{color:var(--green);font-weight:600}.steps .current i{background:var(--green);color:white}.label-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.label-row:first-child{margin-top:0}.label-row small{color:var(--muted);font-size:11px}.session-options{display:grid;gap:9px}.session-option{width:100%;display:flex;text-align:left;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);background:white;border-radius:9px}.session-option .radio{width:16px;height:16px;border:1px solid #bccfc0;border-radius:50%;flex-shrink:0}.session-option.selected{border-color:#4f8a64;background:#f4f8f1}.session-option.selected .radio{border:5px solid var(--green)}.session-option strong{font-size:12px;display:block;font-weight:600}.session-option small{font-size:11px;color:var(--muted)}.session-option .from{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--green)}.duration-options{display:flex;gap:10px;flex-wrap:wrap}.duration-option{background:white;border:1px solid var(--line);border-radius:8px;min-width:90px;flex:1;padding:12px 10px;text-align:center;font-size:12px}.duration-option strong{display:block;font-size:15px;margin-top:4px}.duration-option.selected{background:var(--green);border-color:var(--green);color:#fff}.summary{position:sticky;top:24px}.summary h3{font-size:16px;margin-bottom:19px}.summary .tiny-profile{display:flex;align-items:center;gap:11px;padding-bottom:20px;margin-bottom:17px;border-bottom:1px solid var(--line)}.tiny-profile .portrait{height:49px;width:45px;border-radius:8px}.tiny-profile strong{font-size:12px}.tiny-profile small{display:block;font-size:11px;color:var(--muted)}.summary-row{display:flex;gap:10px;font-size:12px;margin:14px 0;align-items:start}.summary-row .icon{color:#799080;width:16px;height:16px;margin-top:2px}.summary-row span{display:block}.summary-row small{display:block;color:var(--muted);font-size:11px}.total-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;margin-bottom:18px;font-size:12px}.total-row strong{font-size:26px;font-weight:600;letter-spacing:-.8px}.small-note{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-head strong{font-family:Manrope,sans-serif;font-weight:650;font-size:14px}.calendar-controls{display:flex;gap:7px}.icon-btn{border:1px solid var(--line);background:#fff;width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--pale)}.icon-btn .icon{width:15px;height:15px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:#8a968d;margin-bottom:9px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.date-grid .day{border:0;background:#fff;min-height:40px;border-radius:8px;font-size:12px;position:relative}.date-grid .day:hover:not(:disabled){background:#edf5e9}.date-grid .day.today{color:var(--green);font-weight:700}.date-grid .day.today:after{content:'';position:absolute;width:4px;height:4px;bottom:5px;left:calc(50% - 2px);background:var(--green);border-radius:50%}.date-grid .day.selected{background:var(--green)!important;color:white}.date-grid .day:disabled{color:#a2aaa5;opacity:.45}.time-area{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.time-area .label-row{margin:0 0 13px}.times{display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr;gap:8px}.time{border:1px solid var(--line);border-radius:8px;background:white;padding:10px 9px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.time.selected{background:var(--green);color:white;border-color:var(--green)}.time:disabled{background:#f0f2ef;color:#9a9f9a;opacity:1;border-color:#ecf0ea}.time small{font-size:9px}.time:not(:disabled):hover{border-color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field.full{grid-column:1/-1}.field label span{color:#8c978e;font-size:10px}.field input,.field textarea,.field select,.calendar-select{background:white;border:1px solid #d8e3d9;border-radius:8px;padding:12px 13px;color:var(--ink);width:100%;outline-color:#8ebd53}.field textarea{resize:vertical;min-height:85px}.field input::placeholder,.field textarea::placeholder{color:#a1aba4}.form-intro{font-size:12px;color:var(--muted);margin:8px 0 25px}.error{padding:12px;background:#fff2ed;border-radius:8px;color:#a04430;font-size:12px;margin:15px 0}.success-panel{text-align:center;max-width:600px;margin:42px auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:35px}.success-icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e9f3df;color:var(--green);margin:0 auto 20px}.success-icon .icon{width:27px;height:27px}.success-panel h1{font-size:30px;letter-spacing:-1px}.success-panel>p{font-size:12px;color:var(--muted);margin:11px 0 25px}.receipt-card{text-align:left;background:#f8faf5;border:1px solid var(--line);padding:20px;border-radius:12px;margin-bottom:23px}.receipt-card .total-row{margin-bottom:0}.button-row{display:flex;gap:10px;justify-content:center}.booking-list{display:grid;gap:14px;max-width:950px}.appointment{width:100%;display:flex;align-items:center;text-align:left;padding:23px;background:#fff;border:1px solid var(--line);border-radius:13px;gap:22px}.date-stamp{border:1px solid #dce7d8;background:#f2f7ee;border-radius:10px;min-width:62px;text-align:center;padding:9px;color:#6d896e}.date-stamp strong{display:block;font-size:23px;color:var(--green);line-height:1.3}.date-stamp small{font-size:10px}.appointment .appointment-main{flex:1}.appointment p{color:var(--muted);font-size:12px;margin-top:4px}.status{font-size:10px;padding:4px 9px;border-radius:20px;background:#eaf4e5;color:#527950;display:inline-flex;gap:5px;align-items:center}.status:before{content:'';width:4px;height:4px;border-radius:50%;background:#6e9d63}.appointment-amount{text-align:right;min-width:85px}.appointment-amount strong{display:block;font-size:18px;margin-top:9px;font-weight:500}.blank{padding:50px;text-align:center;background:white;border:1px solid var(--line);border-radius:14px;grid-column:1/-1}.blank p{color:var(--muted);margin:10px 0 20px;font-size:12px}.clinic-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.calendar-select{width:260px;font-size:12px;padding:10px}.clinic-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.clinic-calendar{padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}.month-cell{min-height:106px;padding:7px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:left;display:flex;flex-direction:column;gap:4px;overflow:hidden}.month-cell:hover{background:#f6f9f2}.month-cell.selected{background:#f0f6e9;box-shadow:inset 0 0 0 1px #88ac76}.month-cell.outside{background:#fafbf9;color:#b4beb4;min-height:106px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.month-cell .date-num{font-size:11px;margin-bottom:3px}.month-cell.today .date-num{background:var(--green);color:#fff;width:21px;height:21px;line-height:21px;text-align:center;border-radius:50%}.cell-preview{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#e6f1e0;color:#456c44;border-radius:3px;padding:3px 4px;max-width:100%;line-height:1.5}.cell-preview.block{background:#eef0ee;color:#8a938a}.legend{display:flex;gap:18px;color:var(--muted);font-size:10px;margin-top:15px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:2px;background:#d6e9cb}.legend i.gray{background:#d5dad4}.agenda{padding:20px}.agenda h3{font-size:15px}.agenda .agenda-label{font-size:10px;color:var(--muted);margin:5px 0 20px}.agenda-item{border:0;border-left:3px solid #83a86a;background:#f5f8f0;padding:12px;text-align:left;border-radius:3px 8px 8px 3px;display:block;width:100%;margin-top:10px}.agenda-item.block{border-left-color:#b9c1b7;background:#f1f3ef}.agenda-item strong{font-size:11px;display:block}.agenda-item p{font-size:10px;color:var(--muted);margin-top:5px}.agenda-time{font-size:10px;color:#607c55;margin-bottom:5px}.agenda-item .row{display:flex;justify-content:space-between;align-items:center}.agenda-item .text-btn{padding:4px;font-size:10px}.text-btn{border:0;background:none;color:var(--green);text-decoration:underline;padding:0;font-size:12px}dialog{border:1px solid var(--line);border-radius:17px;padding:28px;max-width:540px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 30px 100px #0a251b30}dialog::backdrop{background:#16372b70;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:22px;gap:15px}.modal-head h2{font-size:22px}.modal-head p{font-size:11px;color:var(--muted);margin-top:6px}.detail-data{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.detail-data div{min-width:0;overflow-wrap:anywhere}.detail-data small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.detail-data strong{font-size:12px;font-weight:500}.block-range{background:#f6f9f3;padding:13px;border-radius:10px;margin:12px 0;border:1px solid var(--line)}.block-range .form-grid{gap:10px}.block-range input{padding:9px}.block-range label{font-size:10px}.block-range .range-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:11px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-error:empty{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--dark);color:#fff;border-radius:10px;padding:13px 23px;font-size:12px;box-shadow:0 8px 40px #16372b35;z-index:20}.search-results{color:var(--muted);font-size:12px}.details-only{max-width:700px}.hidden{display:none!important}
@media(min-width:1400px){.hero{padding-top:58px}.cards{gap:23px}.provider-card{padding:23px}}
@media(max-width:1000px){.location{display:none}.cards{grid-template-columns:repeat(2,1fr)}.hero{gap:25px}.hero h1{font-size:40px}.hero-art{height:190px}.booking-layout{grid-template-columns:minmax(0,1fr) 285px}.clinic-layout{grid-template-columns:1fr}.agenda{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.agenda>h3,.agenda>.agenda-label{grid-column:1/-1}.month-cell{min-height:110px}}
@media(max-width:700px){.shell{padding:0 20px}.header-inner{height:auto;padding:18px 20px 13px;flex-wrap:wrap;gap:16px}.brandname{font-size:18px}.brandmark{width:32px;height:32px}.nav{width:100%;justify-content:space-between}.nav button{padding:9px 10px;flex:1;justify-content:center;font-size:10px;gap:5px}.nav .icon{width:14px;height:14px}.hero{padding:29px 0 24px;grid-template-columns:1fr}.hero h1{font-size:36px;letter-spacing:-1.7px}.hero-art{display:none}.hero .subtitle{font-size:12px;margin-top:13px}.eyebrow{font-size:9px;margin-bottom:11px}.toolbar{flex-wrap:wrap;margin-top:9px;gap:15px}.toolbar .search{max-width:none;width:100%}.section-label h2{font-size:18px}.filters{flex-wrap:nowrap;overflow:auto;padding-bottom:5px;gap:7px;margin-bottom:18px}.chip{font-size:10px;padding:7px 12px;white-space:nowrap}.cards{grid-template-columns:1fr;gap:14px}.provider-card{padding:18px}.portrait{width:73px;height:80px}.provider-card h3{font-size:18px}.card-top{margin-bottom:9px}.session-tags{margin:12px 0 15px}.empty-card{padding:24px}.footer{margin-top:27px;align-items:start;padding:18px 0;gap:15px}.foot-right{flex-direction:column;gap:4px!important;text-align:right}.booking-layout{display:flex;flex-direction:column;gap:18px}.booking-layout>div,.summary{width:100%}.summary{position:static}.panel{padding:20px}.page-head{margin:24px 0}.page-head h1{font-size:27px}.page-head .btn{padding:10px 12px;font-size:11px}.steps{gap:13px;font-size:10px}.steps i{width:21px;height:21px}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.profile-heading{gap:13px}.profile-heading h2{font-size:23px}.session-option small{font-size:10px}.duration-option{min-width:60px;padding:10px 6px;font-size:11px}.appointment{padding:16px;gap:12px;flex-wrap:wrap}.appointment h3{font-size:14px}.appointment p{font-size:10px}.appointment-amount{display:flex;align-items:center;gap:10px;margin-left:74px}.appointment-amount strong{margin:0;font-size:15px}.appointment>.icon{margin-left:auto}.date-stamp{min-width:58px}.clinic-toolbar{flex-wrap:wrap}.calendar-select{width:100%}.clinic-calendar{padding:10px}.month-cell{min-height:87px;padding:4px;gap:3px}.cell-preview{font-size:7px;padding:2px}.month-cell .date-num{font-size:10px}.month-cell.outside{min-height:87px}.agenda{display:block}.success-panel{margin:25px auto;padding:24px}.success-panel h1{font-size:25px}.button-row{flex-wrap:wrap}.button-row .btn{width:100%}.detail-data{gap:14px}.modal-head h2{font-size:20px}dialog{padding:22px}.month-grid{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:700px){.filters{scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.time-area .label-row{flex-wrap:wrap;gap:6px}.label-row h3{font-size:17px}.session-option .from{font-size:11px}}

@media(max-width:700px){.nav{min-width:0}.nav button{min-width:0;flex:1 1 0;padding:9px 5px;font-size:9.5px;gap:4px}.nav .icon{width:13px;height:13px}}
/* Preview refresh */
.hero{display:block;padding:30px 0 22px}.hero-art{display:flex;width:100%;height:186px;padding:38px;border-radius:18px}.hero-art .hero-copy{max-width:75%}.hero h1{font-size:36px;letter-spacing:-1.4px;font-weight:600}.hero-art .hero-lines{width:290px;height:290px;right:12px;top:-50px}.toolbar{justify-content:flex-end;margin:0 0 17px}.search{width:310px;max-width:100%}.footer{gap:16px;flex-wrap:wrap}.checkout-form{margin-top:24px}.telegram-box{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:10px;margin-top:22px;gap:12px}.telegram-box strong{font-size:12px}.telegram-box small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.receipt-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:11px}.receipt-profile{display:flex;align-items:center;gap:12px;margin:22px 0}.receipt-card .detail-data{border-top:1px solid var(--line);padding-top:20px}.detail-data .full{grid-column:1/-1}.status-awaiting_payment,.status-payment_review{background:#fbefd9;color:#987139}.status-cancelled,.status-failed{background:#f9e9e3;color:#aa5e47}.status-expired{background:#edf0ed;color:#788178}.preview-tag{display:inline-block;background:#edf3e9;color:#637e5e;border:1px solid #d9e4d3;font-size:10px;padding:4px 10px;border-radius:20px;margin-bottom:15px}.hold-note{font-size:12px;color:var(--muted);margin:0 0 18px}.payment-panel .button-row{flex-wrap:wrap}.payment-panel>.small-note{font-size:11px;margin-top:20px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;margin:20px 0}.checkbox-label input{accent-color:var(--green);margin:3px 0 0;flex-shrink:0;width:16px;height:16px}.change-summary{padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg);margin:18px 0;font-size:12px}.change-summary small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.change-summary strong{display:block;font-size:12px}.reference{font-size:12px;color:var(--muted)}.history{font-size:12px}.history summary{cursor:pointer}.history ul{color:var(--muted);padding-left:18px}.success-panel .button-row{flex-wrap:wrap}.steps{gap:18px}.steps span{font-size:10px}.session-option strong{line-height:1.5}.appointment-main{min-width:0}.appointment p{overflow-wrap:anywhere}
@media(max-width:700px){.hero{padding:20px 0}.hero-art{height:145px;display:flex;padding:24px}.hero h1{font-size:27px;letter-spacing:-1px;max-width:210px}.hero-art .hero-lines{width:230px;height:230px;right:-74px;top:-35px;opacity:.65}.hero-art .hero-copy{max-width:80%}.toolbar .search{width:100%}.toolbar{display:block}.footer{font-size:9px}.telegram-box{flex-wrap:wrap}.appointment{padding:15px;gap:12px;flex-wrap:wrap}.appointment-main{flex:1;min-width:130px}.appointment-amount{margin-left:auto}.success-panel{padding:20px;margin:25px auto}.receipt-card{padding:16px}.steps{gap:10px}.steps span{font-size:9px}.steps i{width:20px;height:20px}.modal-footer{flex-wrap:wrap}.checkbox-label{font-size:11px}}

.clinic-login{max-width:430px;margin:50px auto 30px;padding:30px}.clinic-login h1{font-size:29px;letter-spacing:-1px;margin:14px 0 25px}.preview-pill{display:inline-block;border:1px solid #cadabe;background:#eff5e8;color:#527345;padding:4px 9px;font-size:10px;border-radius:5px;font-weight:600}.clinic-login .field{margin-bottom:18px}.login-help{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 18px}.login-help strong{color:var(--green)}.clinic-head-actions{display:flex;gap:9px;align-items:center}.clinic-calendar-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:18px}.clinic-calendar-toolbar .calendar-head{flex:1;margin:0}.clinic-calendar-toolbar>.btn{padding:8px 12px}.clinic-calendar .month-cell{min-height:98px;gap:5px}.clinic-calendar .date-num{font-size:12px}.clinic-calendar .cell-preview{padding:4px 7px;font-size:10px;line-height:1.4}.date-sessions{margin-top:20px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.date-sessions>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 24px;cursor:pointer;list-style:none}.date-sessions>summary strong{font-size:16px;font-weight:650}.date-sessions>summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.date-sessions>summary::-webkit-details-marker,.clinic-session>summary::-webkit-details-marker,.unavailable-list>summary::-webkit-details-marker{display:none}.fold-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.fold-arrow .icon{height:16px;width:16px;transition:transform .18s}.date-sessions[open]>summary .fold-arrow .icon,.clinic-session[open]>summary .fold-arrow .icon,.unavailable-list[open]>summary .fold-arrow .icon{transform:rotate(90deg)}.date-sessions[open]>summary{border-bottom:1px solid var(--line)}.date-sessions-content{padding:0 24px 20px}.clinic-session{border-bottom:1px solid var(--line)}.clinic-session>summary{display:flex;align-items:center;gap:18px;padding:20px 0;cursor:pointer;list-style:none}.session-time{min-width:75px;font-size:12px;font-weight:600}.session-time small{display:block;color:var(--muted);font-size:10px;margin-top:3px;font-weight:400}.session-person{flex:1;min-width:0}.session-person strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.session-person small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.clinic-status{white-space:nowrap;font-size:10px}.clinic-status.cancelled,.clinic-status.expired,.clinic-status.failed{color:#8b736b;background:#f5eeeb}.clinic-status.cancelled:before,.clinic-status.expired:before,.clinic-status.failed:before{background:#aa8e80}.clinic-status.awaiting_payment,.clinic-status.payment_review{color:#8b7133;background:#faf2de}.clinic-status.awaiting_payment:before,.clinic-status.payment_review:before{background:#b59548}.session-content{padding:0 0 21px 93px}.session-content .detail-data{grid-template-columns:1fr 1fr 1fr;gap:18px 24px;margin:0 0 22px}.session-content .detail-data small{font-size:10px;line-height:1.5}.session-content .detail-data strong{font-size:12px;line-height:1.6}.detail-wide{grid-column:1/-1}.session-actions{display:flex;gap:9px;flex-wrap:wrap}.session-actions .btn{padding:9px 13px}.empty-day{font-size:12px;color:var(--muted);padding:24px 0 5px}.unavailable-list{margin-top:16px;border-radius:9px;background:#f4f6f1;padding:0 14px}.unavailable-list>summary{display:flex;align-items:center;justify-content:space-between;padding:14px 0;cursor:pointer;list-style:none;font-size:12px}.clinic-block{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #e1e8dd;gap:20px}.clinic-block strong{font-size:11px;font-weight:600}.clinic-block p{color:var(--muted);font-size:10px;margin-top:4px}.clinic-block .text-btn{font-size:11px}.inactive-session .session-person strong,.inactive-session .session-time{color:#849084}
@media(max-width:700px){.clinic-login{margin-top:28px;padding:24px}.clinic-page-head{align-items:flex-start;flex-wrap:wrap;gap:16px}.clinic-page-head h1{font-size:28px}.clinic-head-actions{width:100%;justify-content:flex-end}.clinic-calendar{padding:12px}.clinic-calendar-toolbar{gap:8px}.clinic-calendar-toolbar .calendar-head strong{font-size:13px}.clinic-calendar-toolbar>.btn{padding:7px 10px;font-size:11px}.clinic-calendar .calendar-controls{gap:5px}.clinic-calendar .icon-btn{width:27px;height:27px}.clinic-calendar .month-cell{min-height:80px;padding:6px 3px;gap:4px}.clinic-calendar .cell-preview{font-size:9px;padding:3px 4px;align-self:flex-start}.clinic-calendar .cell-preview span{display:none}.clinic-calendar .session-count:after{content:' sessions';display:none}.date-sessions>summary{padding:18px 16px}.date-sessions>summary strong{font-size:14px}.date-sessions-content{padding:0 16px 16px}.clinic-session>summary{gap:10px;flex-wrap:wrap;padding:17px 0;position:relative}.session-time{min-width:63px;font-size:11px}.session-person{flex:1 1 calc(100% - 106px)}.clinic-session>summary>.fold-arrow{position:absolute;right:0;top:26px}.session-person{padding-right:20px}.clinic-status{margin-left:73px;margin-top:-3px}.session-content{padding:0 0 18px}.session-content .detail-data{grid-template-columns:1fr 1fr;gap:16px}.session-actions .btn{font-size:11px;padding:9px 11px}.block-range .form-grid{grid-template-columns:1fr 1fr}.block-range .field{grid-column:auto}.block-range .field.full{grid-column:1/-1}}
/* Grey surfaces and text, with green actions. */
:root{--ink:#4b5563;--muted:#77818c;--green:#237359;--dark:#1a5e48;--pale:#eef4f0;--line:#dde2e5;--bg:#f3f4f5;--white:#fff;--lime:#dce7df;--shadow:0 8px 28px #47556908}
body{color:var(--ink);background:var(--bg);font-family:Arial,Helvetica,sans-serif}h1,h2,h3,h4,.brandname,.price strong,.date-stamp strong{color:var(--ink)}h1,h2,h3,h4,.brandname{font-family:Arial,Helvetica,sans-serif}.nav{background:#f0f2f3}.header,.panel,.provider-card,.appointment,.clinic-calendar{border-color:var(--line)}.hero-art{background:#edf2ee}.hero-copy h1{color:#52605c}.footer{justify-content:center;padding:24px 0}.footer .foot-logo{color:#78828b;font:600 12px/1.5 Arial,Helvetica,sans-serif}.date-stamp{background:#f2f5f3;border-color:#e0e6e2}.date-stamp strong{color:var(--green)}.summary-row{align-items:flex-start;min-width:0}.summary-row>div{min-width:0;overflow-wrap:anywhere}.summary-row svg{flex:0 0 16px}.summary .tiny-profile{display:flex;align-items:center;gap:12px}.summary .tiny-profile>div:last-child{min-width:0}.tiny-profile strong,.tiny-profile small{display:block;overflow-wrap:anywhere}.total-row{gap:18px}.total-row strong{white-space:nowrap}.small-note{overflow-wrap:anywhere}
/* Booking list has fixed columns and a flexible content area. */
.appointment{display:grid;grid-template-columns:64px minmax(0,1fr) auto 18px;gap:20px;align-items:center;min-width:0}.appointment .date-stamp{width:64px;min-width:0}.appointment .appointment-main{min-width:0}.appointment .appointment-main h3{line-height:1.45;overflow-wrap:anywhere}.appointment .appointment-main p{line-height:1.65;overflow-wrap:anywhere}.appointment .appointment-amount{margin:0;display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}.appointment .appointment-amount strong{margin:0;line-height:1.3}.appointment>.icon{margin:0}.status{max-width:100%;line-height:1.5;white-space:normal;flex-shrink:0}.status:before{flex-shrink:0}.status-confirmed{background:#eaf3ee;color:#36765a}.status-expired,.status-cancelled,.status-failed{background:#eceff1;color:#78818a}
/* A single vertical receipt structure prevents nested columns overlapping. */
dialog{max-width:640px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 90px #33415530}dialog::backdrop{background:#33415565}.modal-head{align-items:flex-start;gap:20px}.modal-head h2{min-width:0;overflow-wrap:anywhere;line-height:1.35}.modal-head .icon-btn{flex:0 0 32px}.receipt-card{padding:24px;background:#f8f9fa;border-color:#e0e5e7;border-radius:12px;min-width:0;margin:0 0 20px;text-align:left}.receipt-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;line-height:1.6}.booking-reference{font-size:11px;overflow-wrap:anywhere;color:var(--muted)}.receipt-profile{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;margin:24px 0}.receipt-profile .portrait{width:52px;height:58px;border-radius:10px}.receipt-profile strong,.receipt-profile span{display:block;overflow-wrap:anywhere;line-height:1.55}.receipt-profile strong{font-size:15px;font-weight:600}.receipt-profile span{font-size:12px;color:var(--muted);margin-top:3px}.booking-facts{margin:0;padding:0}.booking-facts+.booking-facts{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.booking-facts>div{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);align-items:start;gap:12px;padding:9px 0}.booking-facts dt{font-size:11px;color:var(--muted);line-height:1.65;overflow-wrap:normal}.booking-facts dd{margin:0;font-size:12px;font-weight:500;line-height:1.65;overflow-wrap:anywhere;min-width:0}.booking-facts dd small{display:block;font-size:11px;line-height:1.65;font-weight:400;color:var(--muted);margin-top:3px}.receipt-card .total-row{margin:20px 0 0;padding-top:20px}.receipt-card .total-row strong{font-size:25px;color:var(--green)}.receipt-reference{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px 12px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line);font-size:11px;line-height:1.6}.receipt-reference span{color:var(--muted)}.receipt-reference strong{font-weight:500;overflow-wrap:anywhere;text-align:right}.receipt-reference small{grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere;text-align:right}.modal-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.modal-footer .btn{white-space:normal;line-height:1.5}.detail-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-data strong{display:block;overflow-wrap:anywhere;line-height:1.6}.detail-data small{line-height:1.6}.history{line-height:1.7;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.history summary{display:list-item;font-weight:500}.history li{margin:9px 0;overflow-wrap:anywhere}
/* Login and clinic panels share the same spacing and input sizing. */
.clinic-login{max-width:440px;margin:46px auto;padding:30px}.clinic-login h1{font-size:28px;line-height:1.3;margin:0 0 26px;letter-spacing:-.8px}.clinic-login form{display:grid;gap:19px}.clinic-login .field{margin:0;min-width:0;gap:8px}.clinic-login label{font-size:12px;line-height:1.5}.clinic-login input,.clinic-login select{height:48px;line-height:1.4;min-width:0;width:100%;font-size:14px}.clinic-login select{text-overflow:ellipsis;white-space:nowrap}.password-field{position:relative;display:flex;align-items:center;min-width:0}.password-field input{padding-right:68px}.password-toggle{position:absolute;right:8px;top:7px;bottom:7px;border:0;border-radius:5px;background:#eef2ef;color:var(--green);padding:0 11px;font-size:11px;font-weight:600;min-width:50px}.clinic-login .error{margin:0;line-height:1.6}.clinic-login .btn{min-height:46px;font-size:13px}.session-content{padding-left:0}.session-content .detail-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:18px;background:#f6f8f7;border-radius:9px}.clinic-session>summary{display:grid;grid-template-columns:80px minmax(0,1fr) auto 18px;gap:16px}.session-time{min-width:0}.session-person{min-width:0;padding:0}.clinic-status{margin:0}.clinic-session>summary>.fold-arrow{position:static}.clinic-head-actions{flex-wrap:wrap}.clinic-page-head>div:first-child{min-width:0}.clinic-page-head p{overflow-wrap:anywhere}.clinic-block>div{min-width:0;overflow-wrap:anywhere}.block-range .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.block-range .field{min-width:0}.checkbox-label{line-height:1.65}.telegram-box{min-width:0}.telegram-box>div{min-width:0;overflow-wrap:anywhere}
.notification-list{display:grid;gap:12px;margin-top:14px}.notification-item{padding:14px;background:#f4f6f5;border:1px solid var(--line);border-radius:9px;min-width:0}.notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px}.notification-item pre{font:12px/1.75 Arial,Helvetica,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;color:#5b6570}.notification-meta{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.6;overflow-wrap:anywhere}.notification-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.notification-actions .btn{font-size:10px;padding:7px 10px}.notification-empty{font-size:12px;color:var(--muted);margin:12px 0}.telegram-box .btn{flex-shrink:0}.connect-dialog .btn{margin-top:16px}
@media(max-width:700px){.appointment{grid-template-columns:55px minmax(0,1fr) 16px;gap:12px 14px;padding:17px;align-items:start}.appointment .date-stamp{grid-column:1;grid-row:1/3;width:55px}.appointment .appointment-main{grid-column:2;grid-row:1;min-width:0}.appointment>.icon{grid-column:3;grid-row:1;margin-top:6px}.appointment .appointment-amount{grid-column:2/4;grid-row:2;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin:0}.appointment .appointment-main h3{font-size:15px}.appointment p{font-size:11px}.appointment-amount strong{font-size:16px}.clinic-login{padding:24px;margin:28px auto}.clinic-login h1{font-size:26px}.clinic-head-actions{width:auto;justify-content:flex-start}.clinic-session>summary{grid-template-columns:65px minmax(0,1fr) 16px;gap:8px 12px;padding:18px 0}.session-time{grid-column:1;grid-row:1/3}.session-person{grid-column:2;grid-row:1;padding:0}.clinic-status{grid-column:2;grid-row:2;justify-self:start;margin:0}.clinic-session>summary>.fold-arrow{grid-column:3;grid-row:1;position:static}.session-content .detail-data{padding:14px;gap:16px}.receipt-card{padding:18px}.receipt-profile{margin:20px 0}.modal-footer .btn{flex:1 1 135px}.footer{padding:22px 0}.success-panel{padding:20px}.success-panel .button-row .btn{width:100%}.receipt-top{font-size:10px}.booking-facts>div{grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:12px}.notification-head{align-items:flex-start}.notification-actions .btn{flex:1 1 120px}.telegram-box .btn{width:100%}}
@media(max-width:440px){dialog{width:calc(100% - 20px);padding:18px;max-height:calc(100dvh - 20px)}.receipt-card{padding:16px}.booking-facts>div{display:block;padding:10px 0}.booking-facts dt{margin-bottom:4px;font-size:10px}.booking-facts dd{font-size:12px}.receipt-reference{grid-template-columns:1fr;gap:4px}.receipt-reference strong,.receipt-reference small{text-align:left}.modal-head h2{font-size:21px}.session-content .detail-data{grid-template-columns:1fr}.session-person strong{display:block;line-height:1.5}}

.app-error{max-width:560px;margin:40px auto;padding:24px}.payment-link{overflow-wrap:anywhere}.app-loading{padding:48px;text-align:center}.login-help{overflow-wrap:anywhere}.network-note{padding:12px 18px;background:#fff2ed;border:1px solid #ecd8ce;border-radius:8px;margin:18px 0;color:#994e39;font-size:12px}
