:root{--youco-bg: #FCFAF7;--youco-surface: #ffffff;--youco-surface-hover: #f5f2ee;--youco-primary: #916E53;--youco-primary-hover: #7d5d46;--youco-text: #222222;--youco-text-secondary: #333333;--youco-text-muted: #737373;--youco-border: #e8e4df;--youco-radius: 12px;--youco-radius-sm: 8px;--youco-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--youco-shadow: 0 1px 3px rgba(34, 34, 34, .06);--youco-shadow-card: 0 2px 8px rgba(34, 34, 34, .06);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}body{margin:0;font-family:var(--youco-font);background:var(--youco-bg);color:var(--youco-text);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}#app{max-width:420px;margin:0 auto;padding:0 var(--safe-right) 0 var(--safe-left);min-height:100vh;min-height:100dvh;background:var(--youco-bg);display:flex;flex-direction:column}.miniapp{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.miniapp-inner{width:100%;max-height:100%;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.miniapp-header{display:flex;align-items:flex-start;gap:.5rem;padding:max(1rem,min(var(--safe-top),2rem)) 1rem 1rem;background:var(--youco-surface);border-bottom:1px solid var(--youco-border);text-align:left;flex-shrink:0}.miniapp-logo{flex-shrink:0;width:auto;min-width:0}.miniapp-logo img{height:56px;max-height:56px;width:auto;min-width:56px;max-width:90px;object-fit:contain;object-position:left center;display:block}.miniapp-logo-text{display:flex;flex-direction:column;gap:0}.miniapp-header-title-block{flex:1;min-width:0}.miniapp-header-title{font-size:1.1rem;font-weight:700;color:var(--youco-text);margin:0 0 .15rem}.miniapp-header-desc{font-size:.8rem;color:var(--youco-text-muted);margin:0}.miniapp-content{padding:1.25rem 1rem max(1.25rem,var(--safe-bottom))}.section-title{font-size:1rem;font-weight:700;color:var(--youco-text);margin:0 0 .75rem}.card{background:var(--youco-surface);border:1px solid var(--youco-border);border-radius:var(--youco-radius);padding:1.35rem;margin-bottom:1.25rem;box-shadow:var(--youco-shadow-card)}.card:last-child{margin-bottom:0}.loading-spinner-wrap{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 0;color:var(--youco-text-muted);font-size:.9rem}.loading-spinner{width:22px;height:22px;border:2px solid var(--youco-border);border-top-color:var(--youco-primary);border-radius:50%;animation:youco-spin .7s linear infinite}@keyframes youco-spin{to{transform:rotate(360deg)}}button.primary{background:var(--youco-primary);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:var(--youco-radius-sm);font-weight:600;font-size:1rem;cursor:pointer;width:100%;transition:background .15s ease,transform .1s ease}button.primary:hover:not(:disabled){background:var(--youco-primary-hover)}button.primary:active:not(:disabled){transform:scale(.99)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--youco-surface);color:var(--youco-text);border:1px solid var(--youco-border);padding:.875rem 1.5rem;border-radius:var(--youco-radius-sm);font-weight:500;cursor:pointer;width:100%;transition:background .15s ease,border-color .15s ease}button.secondary:hover{background:var(--youco-surface-hover);border-color:var(--youco-text-muted)}.slot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.slot-btn{padding:.875rem;background:var(--youco-surface);border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);color:var(--youco-text);font-size:.95rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;text-align:left}.slot-btn:hover{border-color:var(--youco-primary);background:#916e530f;box-shadow:var(--youco-shadow)}.slot-btn.selected{border-color:var(--youco-primary);background:#916e531f;color:var(--youco-primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;font-size:.7rem;color:var(--youco-text-muted);text-align:center}.calendar-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:1rem}.calendar-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.5rem;border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);background:var(--youco-surface);color:var(--youco-text);font-size:.85rem;cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.calendar-date-num{font-weight:600;line-height:1.2}.calendar-date-weekday{font-size:.7rem;color:var(--youco-text-muted);line-height:1.2}.calendar-date.selected .calendar-date-weekday{color:#ffffffe6}.calendar-date:hover{border-color:var(--youco-primary)}.calendar-date.selected{border-color:var(--youco-primary);background:var(--youco-primary);color:#fff}.calendar-date-empty{border:none;background:transparent;pointer-events:none;cursor:default;padding:.5rem;min-height:2.5rem}.date-slots-preview{margin-bottom:1rem;padding:.85rem 1rem;background:#916e530f;border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm)}.date-slots-preview-loading{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--youco-text-muted)}.date-slots-preview-loading .loading-spinner{width:18px;height:18px;border-width:2px}.date-slots-preview-hint{margin:0;font-size:.9rem;line-height:1.4}.date-slots-preview-ok{color:var(--youco-text-secondary)}.date-slots-preview-label{font-weight:600;color:var(--youco-text);margin-right:.35rem}.date-slots-preview-times{color:var(--youco-text-muted)}.date-slots-preview-empty{color:var(--youco-text-muted);font-style:italic}.date-slots-preview-error{color:var(--youco-text-muted);font-size:.85rem}.time-group{margin-bottom:1rem}.time-group-title{font-size:.85rem;font-weight:600;color:var(--youco-text);margin:0 0 .5rem}.time-group-slots{display:flex;flex-wrap:wrap;gap:.5rem}.time-slot{padding:.6rem 1rem;background:var(--youco-surface);border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);color:var(--youco-text);font-size:.9rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.time-slot:hover{border-color:var(--youco-primary)}.time-slot.selected{border-color:var(--youco-primary);background:var(--youco-primary);color:#fff}.time-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;font-size:.85rem;font-weight:600;color:var(--youco-text);background:none;border:none;cursor:pointer;text-align:left;font-family:var(--youco-font);margin:0 0 .25rem}.time-group-header:hover{color:var(--youco-primary)}.time-group-chevron{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--youco-text-muted);transition:transform .2s ease}.time-group-header[aria-expanded=true] .time-group-chevron{transform:rotate(180deg);color:var(--youco-primary)}.time-group-body{overflow:hidden;transition:opacity .2s ease}.service-list{margin-bottom:1rem}.service-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:1rem;margin-bottom:.5rem;background:var(--youco-surface);border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);color:var(--youco-text);font-size:.95rem;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.service-item:hover{border-color:var(--youco-primary)}.service-item.selected{border-color:var(--youco-primary);background:#916e5314}.service-item.selected .service-item-title{color:var(--youco-primary)}.service-item-title{display:block;font-size:1rem;font-weight:600;color:var(--youco-text);line-height:1.35;margin:0;letter-spacing:.01em}.service-item-desc-block{width:100%;margin-top:.6rem;padding:.5rem .65rem;background:#00000008;border-radius:6px;border-left:3px solid var(--youco-border);box-sizing:border-box}.service-item.selected .service-item-desc-block{border-left-color:var(--youco-primary);background:#916e530d}.service-item-desc{display:block;font-size:.8rem;color:var(--youco-text-muted);line-height:1.45;text-align:left;margin:0 0 .25rem}.service-item-desc-block .service-item-desc:last-of-type{margin-bottom:0}.service-item-more{display:inline-block;margin-top:.2rem;padding:0;background:none;border:none;font-size:.78rem;font-weight:500;color:var(--youco-primary);cursor:pointer;text-decoration:underline;font-family:var(--youco-font)}.service-item-more:hover{color:var(--youco-primary-hover)}.detail-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--youco-text-secondary)}.detail-row .muted{color:var(--youco-text-muted)}input[type=text],input[type=tel],input[type=date]{width:100%;padding:.875rem 1rem;border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);background:var(--youco-surface);color:var(--youco-text);font-size:1rem;margin-bottom:1rem;transition:border-color .15s ease}input::placeholder{color:var(--youco-text-muted)}input:focus{outline:none;border-color:var(--youco-primary)}.label-required{font-size:.9rem;font-weight:500;color:var(--youco-text);margin-bottom:.35rem;display:block}.label-optional{font-size:.9rem;font-weight:500;color:var(--youco-text-muted);margin-bottom:.35rem;display:block}.field-error{color:#c0392b;font-size:.85rem;margin:-.5rem 0 .75rem}.summary{font-size:.9rem;color:var(--youco-text-secondary);margin-bottom:1rem;line-height:1.6}.summary p{margin:.35rem 0}.summary strong{color:var(--youco-text)}.miniapp .card p{margin:.25rem 0;color:var(--youco-text-muted);font-size:.9rem}.empty-hint{margin-bottom:.5rem}.section-title-mt{margin-top:1rem}.summary-mt{margin-top:.5rem}.calendar-month-label{font-size:.9rem;font-weight:600;color:var(--youco-text);margin:0 0 .5rem;text-align:center}.btn-mt,button.secondary.btn-mt{margin-top:.5rem}.miniapp-logo-wordmark{font-size:1.4rem;font-weight:700;color:var(--youco-text)}.miniapp-logo-tagline{font-size:.65rem;font-weight:600;letter-spacing:.1em;color:var(--youco-text-muted);text-transform:uppercase}.header-back-btn{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--youco-radius-sm);color:var(--youco-text);cursor:pointer;margin:0 .25rem 0 0;transition:background .15s ease,color .15s ease}.header-back-btn:hover{background:var(--youco-surface-hover);color:var(--youco-primary)}.summary-card{background:var(--youco-surface);border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);padding:1rem;margin-bottom:.75rem;box-shadow:var(--youco-shadow)}.summary-card:last-child{margin-bottom:0}.summary-card-title{font-size:.75rem;font-weight:600;color:var(--youco-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem}.summary-card-content{font-size:.95rem;color:var(--youco-text);margin:0;line-height:1.5}.summary-card-content .summary-comment{color:var(--youco-text-secondary);font-size:.9rem}.done-icon-wrap{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#916e531f;color:var(--youco-primary);display:flex;align-items:center;justify-content:center}.done-icon-wrap svg{width:32px;height:32px}.done-title{font-size:1.1rem;font-weight:700;color:var(--youco-text);margin:0 0 .5rem}.done-text{font-size:.95rem;color:var(--youco-text-secondary);margin:0 0 1.25rem;line-height:1.5}.done-close-hint{font-size:.85rem;color:var(--youco-text-muted);margin:.75rem 0 0;line-height:1.4}.input-wrap{position:relative;margin-bottom:1rem}.input-wrap .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--youco-text-muted);pointer-events:none}.input-wrap input{padding-left:2.75rem;margin-bottom:0}.input-wrap textarea{width:100%;padding:.875rem 1rem .875rem 2.75rem;min-height:4.5rem;margin-bottom:0;border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);background:var(--youco-surface);color:var(--youco-text);font-size:1rem;font-family:inherit;line-height:1.5;resize:none;transition:border-color .15s ease;box-sizing:border-box}.input-wrap textarea::placeholder{color:var(--youco-text-muted)}.input-wrap textarea:focus{outline:none;border-color:var(--youco-primary)}.input-wrap:has(textarea) .input-icon{top:1rem;transform:none}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.calendar-nav-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--youco-surface);border:1px solid var(--youco-border);border-radius:var(--youco-radius-sm);color:var(--youco-text);cursor:pointer;transition:border-color .15s ease,color .15s ease}.calendar-nav-btn:hover:not(:disabled){border-color:var(--youco-primary);color:var(--youco-primary)}.calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 360px){#app{max-width:100%}.miniapp-header{padding:.65rem;gap:.5rem}.miniapp-logo img{height:48px;max-height:48px;min-width:80px}.miniapp-header-title{font-size:.95rem}.miniapp-header-desc{font-size:.72rem}.miniapp-content{padding:1rem .75rem max(1rem,var(--safe-bottom))}.card{padding:1rem}.section-title{font-size:.9rem}.slot-btn,.service-item{padding:.7rem;font-size:.88rem}.service-item-title{font-size:.95rem}.service-item-desc-block{margin-top:.5rem;padding:.4rem .55rem}.service-item-desc{font-size:.76rem}.calendar-date{padding:.35rem;font-size:.8rem}.time-slot{padding:.5rem .75rem;font-size:.85rem}button.primary,button.secondary{padding:.75rem 1rem;font-size:.95rem}}
