/* Product refinement guided by redesign-existing-projects.
   Frosted glass is a user requirement; prioritize content and honest states. */
:root{--ink:#203b2d;--secondary:#597060;--muted:#758578;--accent:#26744f;--edge:rgba(255,255,255,.8)}
.hero-sub,.sheet-desc,.success-sub{color:var(--secondary)}
.sheet-title{font-size:27px;font-weight:650;letter-spacing:-.55px}.eyebrow-mobile{display:none}.sheet-desc{margin-bottom:19px}.glass-card{box-shadow:0 8px 20px #3a614511,inset 0 1px #ffffffe6;border-color:var(--edge)}
.app-page{padding-left:18px;padding-right:18px}.label{color:#294434}.hint,.sub-label{color:#657c6c}.sub-label{letter-spacing:0;font-size:12px}.chip{font-weight:500;color:#395640}.chip.selected{color:#155c3a}.primary-btn{font-weight:600;background:linear-gradient(135deg,#2b7b56e8,#256f4cd9);box-shadow:0 5px 12px #326d4b20,inset 0 1px #ffffff63}.input::placeholder,.textarea::placeholder{color:#758679}.info-row span{color:#657969}.booking-bottom,.disclaimer{color:#687b6d}.price-option small{color:#627867}.price-option strong,.total-bar strong{font-variant-numeric:tabular-nums}.header-more{background:#ffffff2c;box-shadow:none}
.home-page .brand-line{margin:6px 0 24px;gap:8px;font-size:14px;font-weight:600}.home-brand-note{margin-left:auto;font-size:10px;color:#657d6d;font-weight:400}.home-page .hero-title{font-size:31px;line-height:1.2;letter-spacing:-.8px;margin:0 0 7px;font-weight:650;max-width:none}.home-page .hero-sub{font-size:13px;max-width:none;margin:0}.home-intro{margin-bottom:22px}
.home-page .appointment-start{min-height:0;margin-top:0!important;padding:21px 20px 16px;border-radius:24px;background:linear-gradient(140deg,#ffffff87,#e7f5e957);isolation:isolate}.appointment-start:before{width:119px;height:163px;right:-47px;top:-22px;opacity:.55;z-index:-1;box-shadow:inset 5px 5px 12px #ffffff50}.appointment-start:after{display:none}.appointment-start>*{position:relative;z-index:1}.start-top{display:flex;justify-content:space-between;color:#607d68;font-size:11px;align-items:center}.start-top span:last-child{font-size:10px;color:#7a9180}.home-page .appointment-start h2{font-size:22px;line-height:1.35;letter-spacing:-.4px;font-weight:650;max-width:none;margin:17px 0 6px}.home-page .appointment-start p{font-size:12px;line-height:1.6;max-width:none;margin:0;color:#5c7564}.stage-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:19px 0}.stage-choice{border:1px solid #ffffffce;background:#ffffff50;border-radius:11px;color:#476250;min-height:40px;font-size:13px;backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffffb0}.stage-choice.selected{background:#d3eeda92;border-color:#74a7869e;color:#1b6843;box-shadow:inset 0 1px #ffffffdc}.home-page .appointment-start .primary-btn{width:100%;margin:0;padding:12px 16px;display:flex;justify-content:center;gap:17px;font-size:14px;min-height:46px;border-radius:13px}.start-caption{text-align:center;color:#6d8274;font-size:10px;margin-top:10px}
.home-page .section-heading{margin:24px 2px 11px}.home-page .section-heading h3{font-size:15px;font-weight:600}.home-services{padding:0 16px;border-radius:20px}.service-row{width:100%;border:0;background:transparent;display:flex;align-items:center;padding:16px 0;gap:13px;text-align:left;color:var(--ink)}.service-row+.service-row{border-top:1px solid #ffffff86}.service-symbol{width:30px;height:30px;display:grid;place-items:center;color:#367754;flex:none}.service-symbol .ui-icon{width:23px;height:23px}.service-copy{display:grid;gap:4px}.service-copy b{font-size:14px;font-weight:550}.service-copy small{font-size:11px;color:#6c8172}.service-chevron{margin-left:auto;color:#72957c;font-size:20px}.service-row:hover{color:#1d7249}.booking-guide{margin-top:13px;border-radius:17px;padding:0 16px}.booking-guide summary{list-style:none;display:flex;align-items:center;gap:9px;padding:15px 0;font-size:12px;cursor:pointer;color:#52725c}.booking-guide summary::-webkit-details-marker{display:none}.booking-guide summary>.ui-icon{width:17px;height:17px}.booking-guide summary>span{margin-left:auto;transition:transform .2s}.booking-guide[open] summary>span{transform:rotate(180deg)}.booking-guide ol{list-style:none;counter-reset:guide;margin:0;padding:0 0 14px 26px}.booking-guide li{position:relative;margin:0 0 15px;counter-increment:guide}.booking-guide li:before{content:counter(guide);position:absolute;left:-25px;top:1px;color:#6f8b76;font-size:11px}.booking-guide li b{display:block;font-size:12px;font-weight:550;color:#345c42}.booking-guide li span{font-size:11px;color:#647f6d;line-height:1.6;display:block;margin-top:3px}.booking-guide li:last-child{margin-bottom:0}
.invitation-panel{padding:22px 20px}.invite-panel-top{display:flex;justify-content:space-between;align-items:center}.invite-panel-top>div:first-child>span{display:block;font-size:12px;color:#5c7d66}.invite-panel-top strong{font-size:45px;letter-spacing:-1.5px;font-weight:550;font-variant-numeric:tabular-nums;display:block;margin-top:5px}.invite-panel-top strong small{font-size:13px;font-weight:400;letter-spacing:0;color:#6a8471}.invitation-panel .invite-illustration{width:93px;height:93px}.invitation-panel .invite-illustration:before{left:18px;top:3px;width:44px;height:63px}.invitation-panel .invite-illustration:after{right:2px;top:26px}.invitation-panel>p{font-size:12px;color:#5e7a68;margin:11px 0 20px}.invitation-actions{display:grid;grid-template-columns:1.55fr 1fr;gap:9px}.invitation-actions button{font-size:12px;padding:12px 10px;min-height:44px;border-radius:12px}.friend-list{padding:0 17px}.friend{gap:11px}.friend>div{display:grid;gap:4px}.friend b{font-size:12px;font-weight:550}.friend>div small{margin-left:0;font-size:10px;color:#6f8275}.friend-state{margin-left:auto;font-size:10px;color:#6d8174}.friend-state.done{color:#26744f}.friend-avatar{background:#e5f2e64d;color:#547e60;font-size:12px}
.order-id{font-size:10px!important;color:#7a8e80!important;font-variant-numeric:tabular-nums;letter-spacing:.05em}.order-progress{display:flex;align-items:flex-start;margin:27px 0 17px}.order-progress>div{display:grid;justify-items:center;gap:7px;flex:1}.order-progress i{display:grid;place-items:center;font-style:normal;border:1px solid #ffffffb8;background:#ffffff50;width:25px;height:25px;border-radius:50%;font-size:10px;color:#839687}.order-progress b{font-size:10px;font-weight:500;color:#788e7e}.order-progress>span{width:26px;flex:none;height:1px;background:#98b7a17a;margin-top:12px}.order-progress .complete i{background:#d3eadc9c;color:#2a8151}.order-progress .current i{background:#338159d9;color:white}.order-progress .current b{color:#246b49}.order-note{font-size:11px!important;line-height:1.65;color:#597762!important;margin:18px 0 0!important}.profile-top small{color:#667e6e}.profile-stat small{color:#68816f}.list-item small{color:#6c8474}.profile-stat b{font-weight:550;font-variant-numeric:tabular-nums}.bottom-nav button{color:#657d6d}.bottom-nav button.active{color:#17663f}
@media(prefers-reduced-transparency:reduce){.glass-card,.stage-choice,.bottom-nav{background:#edf4ec;backdrop-filter:none}}
.form-error{margin:0 0 14px;padding:12px 14px;background:#fff5ed91;border:1px solid #ffffffc2;border-radius:12px;color:#985a38;font-size:12px;backdrop-filter:blur(15px)}
/* Remove template-style title/description openings. */
.home-page .brand-line{margin:7px 0 29px;font-size:17px;font-weight:600;letter-spacing:-.4px}.home-page .mini-logo{width:29px;height:29px;border-radius:9px;font-size:16px;box-shadow:none}.home-contact{margin-left:auto;width:34px;height:34px;padding:8px;border:1px solid #ffffffa6;border-radius:50%;background:#ffffff3d;color:#436c53;backdrop-filter:blur(15px)}.home-contact .ui-icon{width:17px;height:17px}.home-intro{margin:0 2px 12px}.home-section-caption,.record-caption{font-size:12px;font-weight:500;color:#597261;letter-spacing:.03em}.appointment-start .start-top{font-size:12px;color:#496b54}.appointment-start .start-top span:last-child{font-variant-numeric:tabular-nums;font-size:11px;color:#78917f}.home-page .appointment-start h2{font-size:25px;font-weight:550;letter-spacing:-.6px;margin:23px 0 24px}.home-page .appointment-start{padding:23px 21px 23px;border-radius:24px}.appointment-start .stage-preview{margin:0 0 24px}.appointment-start:before{right:-82px;top:7px;width:150px;height:197px;opacity:.35}.home-page .section-heading{margin-top:31px}.home-services .service-row{padding:18px 0}.home-page .booking-guide{margin-top:17px}.sheet-title{margin:19px 0 21px;font-size:26px;font-weight:550}.progress{margin-bottom:27px}.form-card{margin-top:0}.form-card+.form-card{margin-top:13px}.record-caption{margin:4px 2px 15px}.invitation-panel{margin-top:15px}.app-page>.poster-card{margin-top:15px}
/* Restore an intentional focal point without duplicated promotional headings. */
.home-page .brand-line{margin-bottom:30px}.home-page .home-opening{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 28px;position:relative}.opening-copy{position:relative;z-index:1}.opening-copy h1{margin:0;color:#223b2c;font-size:36px;font-weight:650;line-height:1.2;letter-spacing:-1.5px;white-space:nowrap}.opening-copy h1 span{font-weight:400;margin-left:2px}.opening-copy h1 i{font-style:normal;color:#5b9271;margin-left:4px}.opening-copy p{font-size:11px;color:#617d69;margin:11px 0 0;letter-spacing:.015em}.opening-mark{width:62px;height:75px;position:relative;flex:none;opacity:.83}.opening-mark span{position:absolute;width:31px;height:53px;border:1px solid #ffffffbd;border-radius:80% 0 75% 0;background:linear-gradient(140deg,#f1fff199,#82b49444);box-shadow:inset 2px 2px 6px #ffffff8f,3px 5px 9px #49755c16;left:6px;top:0;transform:rotate(-17deg)}.opening-mark span+span{width:26px;height:40px;left:29px;top:27px;transform:rotate(27deg);background:linear-gradient(140deg,#e8f4ca99,#a4bb8050)}.home-page .appointment-start{padding:20px 21px 22px}.home-page .appointment-start h2{font-size:23px;margin:20px 0 22px;letter-spacing:-.45px}.appointment-start .stage-preview{margin-bottom:21px}.home-page .section-heading{margin-top:27px}.home-services .service-row{padding:17px 0}
.home-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 24px}.home-flow div{display:grid;justify-items:center;gap:9px}.home-flow i{font-style:normal;width:28px;height:28px;border-radius:50%;background:#ffffff4f;border:1px solid #ffffffbc;color:#4e785c;display:grid;place-items:center;font-size:12px}.home-flow span{font-size:10px;color:#607e68}.fee-panel{margin-top:15px;padding:19px}.fee-panel>span{font-size:12px;color:#617b68}.fee-panel strong{display:block;font-size:22px;margin-top:8px;color:#2d6343}.fee-panel p{font-size:11px;color:#6b8373;margin-bottom:0}.login-panel{padding:28px 20px;text-align:center;margin-top:40px}.login-panel .avatar{margin:auto}.login-panel h2{font-size:23px;font-weight:600;margin:23px 0 10px}.login-panel p{font-size:12px;line-height:1.7;color:#667e6e}.consent-row{display:flex;text-align:left;gap:7px;font-size:11px;line-height:1.7;margin:29px 0 18px;align-items:flex-start}.consent-row input{accent-color:#27744f;margin-top:4px}.consent-row button{background:none;border:0;padding:0;color:#25734c;font-size:11px}.login-panel>.primary-btn{width:100%;font-size:12px}.profile-link{border:0;width:100%;background:transparent;text-align:left}.profile-link+.profile-link{border-top:1px solid #ffffff7a}.commission-summary{margin:15px 0 20px;border-top:1px solid #ffffffa0;padding-top:13px}.commission-summary>span{font-size:10px;color:#7a9080}.commission-summary>div{display:flex;gap:30px;margin-top:10px}.commission-summary b{font-size:18px;font-weight:550}.commission-summary small{display:block;margin-top:5px;font-size:10px;color:#657e6b;font-weight:400}
/* Balance the full home screen after removing duplicate shortcuts. */
.home-page .brand-line{margin-bottom:29px}.home-page .home-opening{margin-bottom:26px}.home-page .appointment-start{padding:23px 22px 24px}.home-page .appointment-start h2{font-size:24px;margin:16px 0 24px}.home-flow{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 24px;position:relative}.home-flow:before{content:'';position:absolute;width:1px;background:#8bb29a5c;left:15px;top:20px;bottom:28px}.home-flow div{display:flex;align-items:center;justify-items:initial;gap:13px;padding:0 0 21px;position:relative}.home-flow div:last-child{padding-bottom:0}.home-flow i{width:31px;height:31px;flex:none;background:#e9f5eabf;border-color:#ffffffd9;color:#4e7b5d;box-shadow:inset 0 1px white}.home-flow span{display:grid;gap:4px}.home-flow b{font-size:13px;font-weight:550;color:#2f503b}.home-flow small{font-size:11px;color:#6e8374}.home-page .appointment-start:before{top:12px;right:-88px;height:240px;opacity:.33}.home-fee-note{padding:20px 4px 0;display:flex;justify-content:space-between;align-items:center;gap:8px}.home-fee-note>span{font-size:10px;color:#617967;white-space:nowrap}.home-fee-note b{font-weight:600;color:#366e49;font-size:14px;margin-left:4px;font-variant-numeric:tabular-nums}.home-fee-note p{font-size:10px;line-height:1.5;color:#728575;margin:0;max-width:150px;text-align:right}
.profile-page .profile-top{min-height:150px;padding:29px 23px;gap:17px}.profile-page .avatar{width:62px;height:62px;font-size:27px}.profile-page .profile-top b{font-size:21px;font-weight:600}.profile-page .profile-top small{font-size:12px;margin-top:9px}.profile-page .profile-link{min-height:88px;gap:16px}.profile-page .profile-link>.ui-icon{width:25px;height:25px}.profile-menu-copy{font-size:15px;display:grid;gap:7px}.profile-menu-copy small{margin-left:0;font-size:11px;font-weight:400}.profile-chevron{margin-left:auto;color:#719279;font-size:20px}.profile-page .action-row{margin-top:25px}
/* Final cross-page polish: fixed actions, readable grouped choices, one payment. */
.header-spacer{width:34px;flex:none}.flow-actions{position:absolute;left:0;right:0;bottom:0;z-index:5;margin:0;padding:14px 18px 25px;background:#edf6efd9;border-top:1px solid #ffffffb9;backdrop-filter:blur(24px);box-shadow:0 -8px 22px #3b624b12}.flow-actions .primary-btn{min-height:46px}.flow-actions .secondary-btn{min-height:46px}.subject-group{margin-top:12px;border-top:1px solid #ffffff85}.subject-group summary{cursor:pointer;list-style:none;padding:14px 0;font-size:12px;font-weight:550;color:#4d7257;display:flex;justify-content:space-between}.subject-group summary:after{content:'+';font-size:15px;font-weight:400;color:#74947d}.subject-group[open] summary:after{content:'−'}.subject-group summary::-webkit-details-marker{display:none}.subject-group .chip-row{padding-bottom:8px}.info-row{align-items:start;gap:20px}.info-row>span{flex:0 0 74px;line-height:1.65}.info-row>b{font-size:12px;line-height:1.65;overflow-wrap:anywhere}.info-row.long-value{display:block}.info-row.long-value>b{display:block;text-align:left;margin-top:5px;font-weight:400;color:#45664f}.fee-panel{padding:21px}.fee-panel strong{font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.fee-panel p{line-height:1.65;margin-top:9px}.result-summary{padding:20px;margin-top:26px}.result-summary>div{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:12px}.result-summary>div>span{color:#6d8474}.result-summary b{font-weight:550;font-variant-numeric:tabular-nums;color:#315e41}.result-summary p{font-size:11px;line-height:1.75;color:#687e6f;margin:14px 0 0;border-top:1px solid #ffffffb2;padding-top:14px}.success-page .success-orb{margin-top:28px}.success-page .action-row{margin-top:24px}.login-panel{margin-top:25px;padding:30px 22px}.login-panel>.primary-btn{min-height:47px}.consent-row{font-size:12px;gap:9px}.consent-row input{width:16px;height:16px;flex:none}.consent-row button{font-size:12px}.poster-content h3{font-size:26px;margin-top:42px;line-height:1.35}.poster-content p{font-size:11px}.poster-mark{position:absolute;right:28px;top:101px;transform:scale(1.5);opacity:.8}.poster-qr-row{margin-top:38px}.poster-content{padding:25px 23px}.poster-content .poster-logo{font-size:17px;font-weight:550}.poster-card{height:425px}.profile-page .list-card{margin-bottom:0}.booking-item .booking-meta{flex-wrap:wrap}.invitation-panel{padding:23px}.friend{min-height:65px}.friend b{font-weight:550}.form-card .field:last-child{margin-bottom:0}.app-page{padding-bottom:112px}
/* Final UI tokens and operability pass */
:root{--glass-radius:22px;--control-radius:12px;--ui-primary:#246e4b;--ui-body:#34543f;--ui-secondary:#607a69}
.glass-card{border-radius:var(--glass-radius);background-color:#ffffff62;box-shadow:0 9px 24px #365b4314,inset 0 1px #fffffff0}.form-card{padding:22px 19px}.chip{min-height:44px;padding:10px 13px;font-size:13px;border-radius:var(--control-radius)}.chip-row{gap:8px}.chip-row:has([data-select="time"]){display:grid;grid-template-columns:repeat(3,1fr)}.chip-row:has([data-select="day"]){display:grid;grid-template-columns:repeat(4,1fr)}.label{font-size:14px;font-weight:600}.hint{font-size:11px;margin-left:5px}.input{min-height:47px}.input,.textarea{font-size:14px}.textarea{min-height:95px;line-height:1.75}.input[aria-invalid="true"]{border-color:#ba7353;background:#fff5ee72}.app-header-title{font-size:17px;font-weight:600}.back{min-width:38px;min-height:38px}.sheet-title{font-size:27px;font-weight:600;letter-spacing:-.6px}.field{margin-bottom:25px}.primary-btn,.secondary-btn{min-height:46px}.primary-btn{font-weight:600}.secondary-btn{color:#336c49}.bottom-nav button{min-height:49px;min-width:84px;font-size:11px}.bottom-nav button.active{min-width:84px}.flow-actions{padding-bottom:26px}.flow-actions .primary-btn{font-size:13px}.fee-panel{margin-top:4px;padding:23px 21px;background:linear-gradient(135deg,#f3fff394,#d8eedb55)}.fee-panel strong{font-size:38px;font-weight:550;letter-spacing:-1.3px}.fee-panel p{font-size:12px}.review-section-label{font-size:12px;color:#5f7b68;margin:23px 2px 12px}.review-followup{font-size:11px;line-height:1.8;margin:15px 4px;color:#677f6e}.info-row{padding:13px 0}.info-row>b{font-weight:500}.info-row.long-value>b{font-weight:400}.form-error{font-size:12px;line-height:1.7}.friend-state{font-size:11px}.friend b{font-size:13px}.commission-summary small{font-size:11px}.commission-summary b{font-variant-numeric:tabular-nums}.profile-page .profile-top{background:linear-gradient(145deg,#ffffff75,#e9f6e749)}.success-sub{font-size:13px;line-height:1.7}.result-summary>div{font-size:13px}.result-summary p{font-size:12px}.poster-qr-row small{font-size:10px}.home-fee-note p{font-size:10px}.home-flow b{font-size:14px}.home-flow small{font-size:11px}
/* Detailed control craft: consistent glass, optically aligned, accessible targets. */
.consent-row{position:relative;align-items:center;gap:10px;min-height:44px;margin:24px 0 19px;color:#597461;line-height:1.75}.consent-row input{appearance:none;-webkit-appearance:none;width:21px;height:21px;min-width:21px;margin:0;position:relative;border:1px solid #8aad957a;border-radius:7px;background:linear-gradient(145deg,#ffffffb3,#f1f9ef65);box-shadow:inset 0 1px #ffffffed,0 2px 5px #50775b0e;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}.consent-row input:checked{background:linear-gradient(145deg,#3e8963e8,#286e4fe8);border-color:#32744f;box-shadow:inset 0 1px #ffffff66,0 3px 7px #376e4b22}.consent-row input:checked:after{content:'';position:absolute;width:8px;height:4px;border-left:1.8px solid white;border-bottom:1.8px solid white;left:5px;top:6px;transform:rotate(-45deg)}.consent-row input:focus-visible{outline:2px solid #39875d;outline-offset:4px}.consent-row:hover input:not(:checked){border-color:#5d9775;background:#ffffffae}.consent-row>span{flex:1;font-size:12px}.consent-row button{font-weight:550;text-decoration:underline;text-decoration-color:#36775550;text-underline-offset:3px;border-radius:4px}.consent-row button:hover{text-decoration-color:#367755}
.back{display:grid;place-items:center;font-size:25px;line-height:1;padding:0;background:linear-gradient(145deg,#ffffff85,#ffffff38);border:1px solid #ffffffe0;box-shadow:inset 0 1px white,0 3px 7px #37634213;color:#3a7252}.back:hover{background:#ffffffb8}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.35}.primary-btn{border-color:#d5f4df88;box-shadow:inset 0 1px #ffffff60,0 5px 12px #2e64471e}.secondary-btn{border:1px solid #ffffffcc;background:linear-gradient(145deg,#ffffffa3,#ffffff45);box-shadow:inset 0 1px white,0 3px 7px #3e684b0c}.secondary-btn:hover{background:#ffffffb2}.chip{line-height:1.3;box-shadow:inset 0 1px #ffffffe3,0 2px 5px #426b4d0a}.chip:hover{border-color:#87b1949e;background:#ffffff9c}.chip.selected{background:linear-gradient(145deg,#e3f5e9bf,#bfdccbb3);border-color:#689779a3;box-shadow:inset 0 1px white,0 3px 8px #527b5a13;color:#215f3c}.input,.textarea{border-color:#ffffffd9;box-shadow:inset 0 1px #ffffffed,inset 0 -1px #719a7c14;color:#34553f}.input:focus,.textarea:focus{border-color:#6aa3819c;box-shadow:0 0 0 3px #74a58a14,inset 0 1px white}.required{font-size:10px;color:#b37b66;vertical-align:top;margin-left:2px}.hint{font-weight:400;color:#6e8575}.subject-group summary{min-height:46px;align-items:center;padding:13px 0}.subject-group summary:after{width:23px;height:23px;display:grid;place-items:center;border:1px solid #ffffffb9;border-radius:8px;background:#ffffff3c;font-size:17px;line-height:1;color:#70937b}.subject-group summary:hover:after{background:#ffffff8a}.subject-group[open] summary{color:#2c6342}.subject-group{border-color:#ffffff8a}.bottom-nav{box-shadow:inset 0 1px #fffffff2,0 6px 20px #3657401e;border-color:#ffffffe8}.bottom-nav button{gap:4px;line-height:1.2}.bottom-nav button.active{box-shadow:inset 0 1px #ffffffb3;background:linear-gradient(145deg,#ffffff8a,#e7f6e851)}.bottom-nav .ui-icon{stroke-width:1.65}.friend-avatar{background:linear-gradient(145deg,#ffffffad,#dceede57);border-color:#ffffffd5;box-shadow:inset 0 1px white;letter-spacing:0}.friend-state{color:#728778}.friend-state.done{color:#28724c;font-weight:550}.list-item .profile-chevron{font-size:22px;line-height:1;color:#74947d}.toast{border:1px solid #ffffff40;background:#254734e8;backdrop-filter:blur(20px);box-shadow:0 7px 20px #294c352e;font-size:12px;line-height:1.6}.form-error{border-color:#ffffffdb;box-shadow:inset 0 1px white;color:#965936}.home-flow i{box-shadow:inset 0 1px white,0 2px 6px #55785e0d;font-variant-numeric:tabular-nums}.progress-step i{box-shadow:inset 0 1px white,0 2px 6px #55785e12}.progress-step.active i,.progress-step.done i{box-shadow:inset 0 1px #ffffff78,0 3px 8px #32644520}.avatar{border:1px solid #c8e8d496;background:linear-gradient(145deg,#63a982ce,#2c7e55d1);box-shadow:inset 0 1px #ffffff85,0 6px 14px #43765620}.login-panel .avatar{width:59px;height:59px;border-radius:19px;font-size:27px}.login-panel h2{font-weight:600;letter-spacing:-.4px}.consent-row input:disabled{opacity:.5;cursor:default}
/* Confirmation information: scannable and deliberate hierarchy. */
.booking-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:5px 0 21px}.booking-key-item{padding:15px 12px 16px;min-height:86px;border:1px solid #ffffffde;border-radius:15px;background:linear-gradient(140deg,#f5fff2b0,#dceee275);box-shadow:inset 0 1px white,0 3px 9px #4b775617;backdrop-filter:blur(14px)}.booking-key-item>span{display:block;font-size:11px;color:#62816b;margin-bottom:10px;font-weight:500;line-height:1.4}.booking-key-item>strong{display:block;font-size:16px;line-height:1.55;font-weight:650;letter-spacing:-.2px;color:#1d5b38;overflow-wrap:anywhere}.booking-info-section{font-size:13px;font-weight:600;color:#365d42;margin:22px 0 4px}.booking-item .booking-key-grid{margin-top:19px;margin-bottom:0}.booking-item .booking-top b{font-size:16px}.booking-item .booking-bottom button{font-size:13px;color:#246d47;font-weight:600}.booking-item .booking-key-item{background:linear-gradient(140deg,#ffffff9e,#e2f1e277)}.booking-item .booking-bottom{margin-top:20px}.form-card>.booking-key-grid:first-child{margin-top:0}
/* Appointment pages: coherent document layout instead of nested feature cards. */
.appointment-page .app-header{margin-bottom:27px}.appointment-intro{margin:0 3px 22px}.appointment-intro h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;font-weight:600;color:#244332;margin:0 0 8px}.appointment-intro p{font-size:12px;color:#6a8172;margin:0;line-height:1.6}.appointment-intro .detail-reference{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.025em}.appointment-document{padding:0 21px;border-radius:24px;background:linear-gradient(140deg,#ffffff91,#edf7ed55);box-shadow:0 9px 24px #365b4310,inset 0 1px #fffffffa}.appointment-section{padding:23px 0 20px}.appointment-section+.appointment-section{border-top:1px solid #ffffffcb}.appointment-section h3{font-size:12px;letter-spacing:.025em;font-weight:500;color:#678571;margin:0 0 17px}.appointment-heading{display:grid;gap:8px;margin-bottom:23px}.appointment-heading strong{font-size:21px;line-height:1.3;font-weight:600;letter-spacing:-.3px;color:#234f34}.appointment-heading>span{font-size:15px;line-height:1.6;font-weight:500;color:#3d684a}.schedule-line{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;padding:0 0 19px;margin-bottom:4px;border-bottom:1px solid #ffffff9e}.schedule-line>div{display:grid;gap:7px}.schedule-line span{font-size:11px;color:#6f8978}.schedule-line b{font-size:15px;line-height:1.55;color:#345e40;font-weight:550}.appointment-document .info-row{border:0;padding:9px 0;gap:15px}.appointment-document .info-row>span{font-size:12px;color:#788d7e;flex-basis:65px;font-weight:400;line-height:1.75}.appointment-document .info-row>b{font-size:13px;line-height:1.75;color:#3d6048;font-weight:500}.appointment-document .info-row.long-value{padding-top:12px;padding-bottom:4px}.appointment-document .info-row.long-value>b{margin-top:6px;font-size:12px;font-weight:400;color:#5d7966}.appointment-document .appointment-section:last-child{padding-bottom:22px}.reservation-charge{margin:22px 4px 7px;padding:0 0 8px}.reservation-charge>div{display:flex;align-items:baseline;justify-content:space-between}.reservation-charge span{font-size:13px;color:#57745f}.reservation-charge strong{font-size:26px;font-weight:600;letter-spacing:-.5px;color:#2b6e45;font-variant-numeric:tabular-nums}.reservation-charge p{font-size:11px;line-height:1.7;margin:8px 0 0;color:#799080}.appointment-page .flow-actions{background:#edf6eee6;padding:14px 18px 25px}.appointment-page .flow-actions .secondary-btn{min-width:90px;font-size:13px}.appointment-page .flow-actions .primary-btn{font-size:13px;border-radius:14px}
/* Final legibility pass: stronger values, quieter labels, coherent section hierarchy. */
:root{--ink:#173c28;--secondary:#4c6957;--muted:#617b69}
.app-page{color:#234733}.glass-card{background-color:#ffffff80;border-color:#ffffffed}.app-header-title{color:#21432e;font-weight:650}.sheet-title{color:#1e422c;font-weight:650}.label{color:#284b34;font-weight:650}.hint{color:#597762}.input,.textarea{color:#244831;background:linear-gradient(145deg,#ffffffac,#ffffff75);border-color:#fffffff0}.input::placeholder,.textarea::placeholder{color:#6f8775}.chip{color:#3c6046;background:linear-gradient(145deg,#ffffffa6,#ffffff68)}.chip.selected{color:#145633;border-color:#4b8e67ba;background:linear-gradient(145deg,#d8efdeed,#b9ddc7b0);font-weight:600}.sub-label{color:#476c53}.subject-group summary{color:#40674c;font-weight:600}.primary-btn{background:linear-gradient(145deg,#2e8159f2,#206744ed);color:#fff;box-shadow:inset 0 1px #ffffff70,0 5px 12px #30644825}.secondary-btn{color:#2f6242;font-weight:600}.bottom-nav button{color:#52725e}.bottom-nav button.active{color:#1c623c;font-weight:650}.profile-top b{color:#244931}.profile-top small,.profile-menu-copy small{color:#597462}.invitation-panel>p{color:#4f705a}.commission-summary>span,.commission-summary small{color:#57765f}.friend b{color:#284c35}.friend-state{color:#5f7a66}.friend-state.done{color:#226d42}.home-flow b{color:#284f35}.home-flow small{color:#5b7864}.home-fee-note>span,.home-fee-note p{color:#597663}.start-top{color:#456d50}.opening-copy p{color:#55755e}.success-sub{color:#50715b}.result-summary>div>span{color:#54755d}.result-summary b{color:#285a38}.result-summary p{color:#587660}.info-row>span{color:#557660}.info-row>b{color:#2d563b}.booking-key-item>span{color:#52745e}.booking-key-item>strong{color:#205a36}
.appointment-document{background:linear-gradient(145deg,#ffffffb0,#f0f8ef82);box-shadow:inset 0 1px white,0 10px 26px #34583c16}.appointment-section{padding:24px 0}.appointment-section+.appointment-section{border-top:1px solid #8bb19745}.appointment-section h3{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650;letter-spacing:0;color:#2e6441;margin-bottom:20px}.appointment-section h3:before{content:'';display:block;width:3px;height:15px;background:#4d8a65;border-radius:3px;flex:none}.appointment-heading{gap:10px;margin-bottom:23px}.appointment-heading strong{font-size:24px;font-weight:650;letter-spacing:-.4px;color:#1d4b2d}.appointment-heading>span{font-size:18px;font-weight:600;color:#2d6440}.schedule-line{gap:22px;border-color:#91b89b40;padding-bottom:20px;margin-bottom:9px}.schedule-line span{font-size:12px;color:#5d7c65}.schedule-line b{font-size:18px;font-weight:600;line-height:1.55;color:#244f32}.appointment-document .info-row{padding:11px 0}.appointment-document .info-row>span{color:#597563;font-size:12px;flex-basis:72px}.appointment-document .info-row>b{color:#284d35;font-size:14px;font-weight:550}.appointment-document .info-row.long-value>span{color:#57755f}.appointment-document .info-row.long-value>b{color:#3d6149;font-size:13px;line-height:1.85;font-weight:400;margin-top:7px}.appointment-intro h2{color:#1e422b;font-size:26px;font-weight:650}.appointment-intro p{color:#597663}.reservation-charge{padding:16px 0 8px;border-top:1px solid #7aa48a40;margin-top:23px}.reservation-charge span{color:#42694d;font-weight:550}.reservation-charge strong{color:#225f38;font-size:29px}.reservation-charge p{color:#5e7b67;font-size:12px}.booking-bottom>span{color:#617c69}.booking-item .booking-top b{color:#284f35}.order-id{color:#65826d!important}.form-error{color:#8b4c2e}.consent-row{color:#4f6b59}.login-panel p{color:#587360}

:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei UI",sans-serif}
/* Purposeful motion: navigation, physical feedback and subtle brand life. */
.primary-btn,.secondary-btn,.chip,.bottom-nav button{position:relative;overflow:hidden;isolation:isolate;transition:background .2s,border-color .2s,box-shadow .2s,transform .18s}.tap-ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.28);animation:tap-ripple .52s ease-out both;z-index:-1}.chip .tap-ripple,.bottom-nav .tap-ripple,.secondary-btn .tap-ripple{background:rgba(58,130,87,.13)}
@keyframes tap-ripple{from{transform:scale(.08);opacity:.8}to{transform:scale(1);opacity:0}}
@keyframes leaf-breathe{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(3deg)}}
@keyframes check-arrive{from{opacity:0;transform:scale(.83)}to{opacity:1;transform:scale(1)}}
.home-opening .opening-mark{animation:leaf-breathe 6s ease-in-out infinite;transform-origin:50% 70%}.success-orb{animation:check-arrive .38s cubic-bezier(.2,.8,.2,1) both}.subject-group summary:after{transition:background .2s,color .2s,transform .2s}.subject-group[open] summary:after{transform:rotate(180deg)}.subject-group[open] .chip-row{animation:check-arrive .22s ease-out both;transform-origin:top left}.consent-row input:checked:after{animation:tick-arrive .18s ease-out both;transform:rotate(-45deg)}
@keyframes tick-arrive{from{opacity:0;transform:rotate(-45deg) scale(.6)}to{opacity:1;transform:rotate(-45deg) scale(1)}}
@media(hover:hover){.primary-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff80,0 9px 18px #2e64472e}.secondary-btn:hover{transform:translateY(-1px)}.service-row:hover,.profile-link:hover{background:#ffffff20}.chip:hover{box-shadow:inset 0 1px white,0 4px 9px #426b4d18}}
@media(prefers-reduced-motion:reduce){.home-opening .opening-mark,.success-orb,.subject-group[open] .chip-row,.consent-row input:checked:after,.tap-ripple{animation:none!important}button,.subject-group summary:after{transition:none!important}.primary-btn:hover,.secondary-btn:hover{transform:none}}
