.return-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:42px 46px;background:var(--ink);color:var(--paper)}.return-banner h2{font-size:40px;margin:20px 0}.return-banner p{max-width:510px;color:var(--paper);font-size:15px;line-height:1.75;opacity:1;margin:20px 0 24px}.goal-links{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.goal-links a{font-size:11px;border-bottom:1px solid var(--line);padding:8px 0;margin-right:14px}.client-app{padding-bottom:85px}.app-shell{width:min(960px,calc(100% - 48px));margin:auto}.app-header{position:sticky;top:0}.app-header .app-shell{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.app-brand{font:25px var(--serif);line-height:1.2}.app-brand span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:6px}.backlink{font-size:11px}.app-welcome{padding:55px 0 40px}.app-welcome h1{font-size:clamp(39px,6vw,62px);margin:22px 0;letter-spacing:-1.6px}.app-welcome p{color:var(--muted);max-width:560px;font-size:14px}.favorites-panel{background:var(--light);padding:32px}.app-sectionhead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.app-sectionhead h2{font-size:31px}.app-sectionhead>span{font-size:30px;color:var(--rose)}.empty-favorites{padding:22px 0}.empty-favorites p{margin-bottom:15px}.app-hint{font-size:11px;color:var(--muted);line-height:1.7}.app-catalog{padding:55px 0}.search-label{display:block;font-size:12px;margin-bottom:8px}#service-search{width:100%;padding:14px 16px;font:inherit;border:1px solid #bfa9a4;border-radius:0;background:#fffaf5;color:var(--ink);margin-bottom:18px}#service-search:focus{outline:2px solid var(--rose);outline-offset:2px}.app-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.service-card{background:#fffaf5;border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;min-width:0}.card-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.service-card h3{font:23px/1.35 var(--serif);margin:0 0 12px}.service-card p{font-size:12px;color:var(--muted);margin-bottom:15px}.service-card .card-price{font-size:14px;color:var(--ink);margin-top:auto;margin-bottom:14px}.favorite-toggle{flex-shrink:0;width:42px;height:42px;font-size:25px;line-height:1;background:transparent;border:1px solid var(--line);color:var(--rose);cursor:pointer}.favorite-toggle[aria-pressed=true]{background:var(--rose);border-color:var(--rose);color:white}.service-card .button{padding:11px 15px;gap:10px}.favorite-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.app-visit h2{font-size:38px;margin:22px 0}.app-contact{padding:25px 0}.app-contact p{font-size:13px}.app-end{padding:25px 0}.app-bottom{position:fixed;bottom:0;left:0;right:0;z-index:12;display:flex;justify-content:center;gap:0;border-top:1px solid var(--line);background:var(--paper);height:auto;padding:0 12px;padding-bottom:env(safe-area-inset-bottom)}.app-bottom a{padding:19px 25px;font-size:12px}.app-bottom a:last-child{color:var(--rose);font-weight:600}dialog{width:min(500px,calc(100% - 32px));padding:38px;border:1px solid var(--line);background:var(--paper);color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#493a3880}dialog h2{font-size:35px;margin:22px 0}dialog p{font-size:13px}.dialog-close{position:absolute;top:8px;right:12px;border:0;background:none;color:var(--ink);font-size:28px;cursor:pointer}#storage-status:empty{display:none}#storage-status{font-size:12px;color:var(--ink)}@media(max-width:1000px){body:not(.client-app) .menu{display:block}body:not(.client-app) .navlinks{display:none;position:absolute;top:110px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}body:not(.client-app) .navlinks.open{display:flex}}@media(max-width:650px){.return-banner{display:block;padding:28px}.return-banner h2{font-size:34px}body:not(.client-app) .navlinks{top:88px}.app-shell{width:calc(100% - 36px)}.app-header .app-shell{padding:16px 0}.app-brand{font-size:22px}.backlink{font-size:10px}.app-welcome{padding:35px 0}.app-service-grid,.favorite-list{grid-template-columns:1fr}.favorites-panel{padding:23px}.app-sectionhead h2{font-size:28px}.app-bottom{justify-content:space-around}.app-bottom a{padding:17px 9px;font-size:11px}.app-visit h2{font-size:34px}.client-app html{scroll-padding-top:95px}}

.client-app .app-welcome{padding:28px 0 22px}.client-app .app-welcome h1{font-size:42px;margin:16px 0}.client-app .app-welcome p{font-size:13px;margin-bottom:18px}.client-app .favorites-panel{padding:22px}.client-app .app-sectionhead{margin-bottom:14px}.client-app .empty-favorites{padding:0}.client-app .empty-favorites p{font-size:13px;margin-bottom:8px}.client-app .app-catalog{padding:30px 0}.app-service-grid,.favorite-list{display:block}.treatment-group{padding:0;border:1px solid var(--line);margin-bottom:10px;background:#fffaf5}.treatment-group>summary{padding:20px;font:24px var(--serif);align-items:center;gap:10px}.treatment-group>summary small{font:11px "DM Sans",sans-serif;color:var(--muted);margin-left:auto;white-space:nowrap}.treatment-group>summary:after{font:22px "DM Sans",sans-serif;margin-left:10px}.group-services{padding:0 18px 6px}.service-row{padding:14px 0;border-top:1px solid var(--line)}.service-info{padding:0;border:0}.service-info summary{align-items:start;font-size:13px;gap:12px;line-height:1.5}.service-info summary>span{flex:1}.service-info summary strong{font-size:12px;white-space:nowrap;font-weight:500}.service-info summary:after{font-size:17px;line-height:1}.service-info p{font-size:12px;margin:10px 0 8px}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:9px}.row-actions .button{font-size:11px;padding:6px 15px}.row-actions .favorite-toggle{width:34px;height:34px;font-size:20px}.favorite-list .service-row:first-child{border-top:0}.client-app .app-hint{margin:12px 0}.client-app .app-welcome .button{padding:10px 16px;font-size:11px}@media(max-width:650px){.client-app .app-welcome h1{font-size:35px}.treatment-group>summary{font-size:22px;padding:17px}.client-app .app-brand{font-size:21px}.client-app .app-welcome{padding-top:23px}.client-app .app-welcome p{margin-bottom:12px}}

/* Matching pastels for the client app. */
.client-app .favorites-panel{background:var(--cream);border:1px solid #e5d6bd}
.client-app .treatment-group[data-group=kasvot]{background:var(--peach)}
.client-app .treatment-group[data-group=ripset]{background:var(--blush)}
.client-app .treatment-group[data-group=sokerointi]{background:#f7e8da}
.client-app .treatment-group[data-group=kynnet]{background:#f4e6ec}
.client-app .treatment-group[data-group=rusketus]{background:var(--cream)}
.client-app .group-services{background:#fffaf580}
.client-app .favorite-toggle{background:#fffaf5}
.client-app .favorite-toggle[aria-pressed=true]{background:var(--rose)}
.client-app #service-search{background:var(--cream)}
.client-app .app-bottom{background:#fbf0e8}

/* Deliberate three-tone contrast in the client app. */
.client-app .favorites-panel{background:var(--blush);border:1px solid var(--rose)}
.client-app #service-search{background:var(--paper);border:1px solid var(--rose)}
.client-app .treatment-group{border-color:var(--rose)}
.client-app .treatment-group[data-group=kasvot],.client-app .treatment-group[data-group=kynnet]{background:var(--paper)}
.client-app .treatment-group[data-group=ripset],.client-app .treatment-group[data-group=rusketus]{background:var(--blush)}
.client-app .treatment-group[data-group=sokerointi]{background:var(--rose);color:var(--paper)}
.client-app .treatment-group[data-group=sokerointi]>summary small,.client-app .treatment-group[data-group=sokerointi]>summary:after{color:var(--paper)}
.client-app .group-services{background:var(--paper);color:var(--ink)}
.client-app .favorite-toggle{background:var(--paper);border-color:var(--rose)}
.client-app .favorite-toggle[aria-pressed=true]{background:var(--rose);color:var(--paper)}
.client-app .app-bottom{background:var(--rose);border-color:var(--rose)}
.client-app .app-bottom a,.client-app .app-bottom a:last-child{color:var(--paper)}
.client-app .service-row{border-color:var(--line)}

.client-app .app-header,.client-app .app-bottom{background:var(--pastel-brown);border-color:var(--brown-border)}
.client-app .app-bottom a,.client-app .app-bottom a:last-child{color:var(--ink)}
.client-app .app-bottom a:last-child{font-weight:600}

/* Harmonized rosewood navigation and surfaces. */
.client-app .app-header,.client-app .app-bottom{background:var(--pastel-brown);border-color:var(--brown-border)}
.client-app .app-bottom a,.client-app .app-bottom a:last-child{color:var(--ink)}
.client-app .favorites-panel{background:var(--blush);border:1px solid var(--line);box-shadow:0 10px 28px #4b30370b}
.client-app #service-search{background:#fffcf9;border-color:var(--line)}
.client-app .treatment-group{border-color:var(--line);box-shadow:0 4px 14px #4b303706}
.client-app .treatment-group[data-group=kasvot],.client-app .treatment-group[data-group=kynnet]{background:#fffcf9}
.client-app .treatment-group[data-group=ripset],.client-app .treatment-group[data-group=rusketus]{background:var(--blush)}
.client-app .treatment-group[data-group=sokerointi]{background:var(--rose);color:var(--paper)}
.client-app .group-services{background:var(--paper);color:var(--ink)}
.client-app .app-sectionhead>span{color:var(--rose)}

.client-app .treatment-subgroup{padding:0;border-bottom:1px solid var(--line)}
.treatment-subgroup>summary{padding:16px 0;align-items:center;gap:10px;font-size:14px;font-weight:500}
.treatment-subgroup>summary>span{flex:1}
.treatment-subgroup>summary small{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}
.subgroup-services{padding:0 0 10px 9px;border-left:2px solid var(--line)}

/* Returning customers start from their own repeat treatments. */
.client-app .app-welcome{padding:24px 0 18px}
.client-app .app-welcome h1{font-size:clamp(32px,5vw,43px);line-height:1.14;margin:16px 0}
.client-app .app-welcome>p{font-size:15px;line-height:1.7;margin:0;max-width:620px}
.client-app .favorites-panel{padding:22px;background:var(--blush);border:1px solid var(--line)}
.client-app .favorites-panel h2{font-size:29px}
.client-app .favorites-panel .app-sectionhead{margin-bottom:12px}
.favorite-start-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.favorite-start-actions .button{padding:12px 10px;font-size:12px;gap:0}
.client-app .repeat-card{padding:18px;background:#fffcf9;border:1px solid var(--line);border-radius:7px;margin-top:12px}
.repeat-card .service-info>p{font-size:12px;line-height:1.65}
.repeat-card .service-heading{font-size:16px;line-height:1.4}
.repeat-card .service-heading>strong{font-size:15px}
.repeat-card .row-actions{justify-content:stretch;gap:10px;margin-top:15px}
.repeat-card .row-actions .button{flex:1;font-size:12px;padding:12px 14px;gap:0;order:1;text-align:center}
.repeat-card .row-actions .favorite-toggle{width:44px;height:44px;order:2}
.repeat-card .service-info .recent-booking-label{margin:0 0 10px;color:var(--rose);font-size:10px;font-weight:600}
.booking-steps{font-size:12px;color:var(--ink);line-height:1.7;margin:20px 0 14px}
.client-app .favorites-panel .app-hint{font-size:11px;line-height:1.6}
.app-save-shortcut{padding:18px 0 0}
.app-save-shortcut .button{font-size:12px;line-height:1.5;padding:12px 16px;text-align:center;gap:0}
.app-save-shortcut p{font-size:11px;color:var(--muted);margin:8px 0 0}
.quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.quick-filters button{font:inherit;font-size:12px;padding:10px 15px;border:1px solid var(--rose);background:var(--paper);color:var(--ink);cursor:pointer}
.quick-filters button[aria-pressed=true]{background:var(--rose);color:var(--paper)}
.client-app #hoidot,.client-app #suosikit{scroll-margin-top:100px}
@media(max-width:650px){.client-app .app-welcome h1{font-size:33px;letter-spacing:-1px}.client-app .app-welcome>p{font-size:14px}.client-app .favorites-panel{padding:18px}.client-app .favorites-panel h2{font-size:26px}.client-app .repeat-card{padding:15px}.app-save-shortcut .button{width:100%}.repeat-card .service-heading{font-size:15px}.app-bottom a{font-size:11px;padding-inline:8px}}
