:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text);background-color:var(--bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card.is-selected{outline:2px solid #2a76ff}.radio-input:checked+.radio-mark{border-color:#2a76ff}.radio-input:checked+.radio-mark:after{background:#2a76ff}:root{--bg-page: #fbf8f6;--surface: #ffffff;--card-bg: #ffffff;--muted: #7b7f85;--text: #111827;--accent: #ff6b8a;--accent-strong: #e04566;--fresh-green: #73d69c;--shadow: 0 6px 18px rgba(2,6,23,.08)}body{margin:0;background-color:var(--bg-page);display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:0;color:var(--text)}.app-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:100vw;width:100%;height:100vh;background-color:var(--surface);border-radius:0;box-shadow:none;overflow:hidden;border:none;color:var(--text);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.page{padding:8px;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sticky-header{position:sticky;top:-16px;z-index:10;background:var(--surface);margin:-16px -16px 0;padding:0 16px 10px;border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000001a}.stack{display:flex;flex-direction:column;gap:14px}.radio-list{display:flex;flex-direction:column;gap:10px}.card-image{width:100%;height:160px;overflow:hidden;border-radius:8px;background:#eee}.footer-cta{position:sticky;bottom:-7px;z-index:15;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 12px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eee;box-shadow:0 -4px 12px #00000014}.footer-msg{color:var(--accent);font-size:16px;font-weight:500}.primary-btn{padding:12px 20px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;min-height:44px;-webkit-tap-highlight-color:rgba(255,107,138,.2)}.primary-btn[disabled]{opacity:.5;cursor:default}.green-btn{background:var(--fresh-green)!important;-webkit-tap-highlight-color:rgba(143,211,140,.2)}@media (max-width: 420px){.card-image{height:140px}.header-title{font-size:16px}.profile-image{width:50px;height:50px}.app-container{border-radius:8px;height:100vh}body{padding:0}.page{padding:10px}.sticky-header{margin:-10px -10px 10px;padding:0 10px 8px}.stack{gap:12px}.progress-circle{width:23px;height:23px;font-size:10px}.progress-label{font-size:9px;max-width:50px}.coupon-image{width:100px;min-width:100px}.coupon-title{font-size:14px}.price-discount{font-size:18px}}.header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:linear-gradient(180deg,#00000005,#0000000a);border-bottom:1px solid rgba(0,0,0,.06)}.header-title{font-size:17px;font-weight:600;color:var(--text);margin:0}.icon-btn{background:transparent;color:var(--muted);border:none;font-size:20px;padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.hint{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:16px;background:#ff6b8a0d;border-radius:8px;border-left:3px solid var(--accent)}.hint .avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);flex-shrink:0}.hint-text{flex:1}.hint-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.hint-sub{font-size:12px;color:var(--muted);margin:2px 0 0}.section-header{margin:10px 0;padding:10px 12px;background:linear-gradient(180deg,#0000000d,#00000014);border:1px solid rgba(0,0,0,.1);border-left:3px solid var(--muted);border-radius:8px}.section-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.2}.section-subtitle{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.3}.content{padding:20px;background:transparent}.profile-card{display:flex;align-items:center;margin-bottom:20px;background:linear-gradient(180deg,#00000003,#00000008);padding:12px;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.profile-image{width:60px;height:60px;border-radius:50%;margin-right:15px;object-fit:cover;border:1px solid rgba(255,255,255,.03)}.profile-name{font-size:16px;font-weight:600;color:var(--text);margin:0}.profile-subtitle{font-size:14px;color:var(--muted);margin:5px 0 0}.button-group{display:flex;flex-direction:column;gap:10px}.consultation-button,.reservation-button,.history-button{flex:1;padding:12px;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background-color .2s ease}.consultation-button{background-color:#00b90014;color:#8cf3a6}.consultation-button:hover{background-color:#00b9001f}.reservation-button{background-color:var(--accent);color:#fff}.reservation-button:hover{background-color:var(--accent-strong)}.history-button{background-color:#73d69c26;color:var(--fresh-green);border:1px solid var(--fresh-green)}.history-button:hover{background-color:#73d69c40}.progress-bar{text-align:center;color:var(--muted);font-size:.9em;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.02)}.progress-bar span:first-child{color:var(--accent);font-weight:700}.progress-stepper{display:flex;align-items:center;justify-content:center;padding:10px 2px;gap:0;max-width:100%;margin:0 auto;width:fit-content}.progress-step-wrapper{display:flex;align-items:center;flex:0 0 auto;gap:0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto}.progress-circle{width:21px;height:21px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;transition:all .3s ease}.progress-circle.pending{background:#0000000f;color:var(--muted);border:2px solid rgba(0,0,0,.12)}.progress-circle.active{background:var(--accent);color:#fff;border:2px solid var(--accent);box-shadow:0 0 0 3px #ff6b8a26}.progress-circle.completed{background:var(--accent);color:#fff;border:2px solid var(--accent)}.progress-label{font-size:9px;color:var(--muted);text-align:center;max-width:60px;line-height:1.3;font-weight:500;white-space:nowrap}.progress-label.active{color:var(--text);font-weight:600}.progress-line{width:100px;height:2px;background:#00000026;margin:10px 8px 0;transition:background .3s ease;align-self:flex-start}.progress-line.completed{background:var(--accent)}.menu-card,.card{position:relative;background-color:#00000003;color:var(--text);border:1px solid rgba(0,0,0,.06)}.footer{position:fixed;bottom:0;left:0;width:100%;padding:15px;background:linear-gradient(180deg,#0000000a,#00000014);text-align:center}.footer-button{width:90%;padding:15px;background-color:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1.1em;cursor:pointer}.fc .fc-col-header-cell-cushion{color:var(--text)}.fc .fc-timegrid-slot-label{color:var(--muted)}.fc .fc-highlight{background:#ff6b8a1f!important}.card{padding:12px;border-radius:8px}.card-body{display:flex;gap:12px;align-items:flex-start}.card-content{flex:1}.card-title{font-size:16px;margin:0 0 6px;color:var(--text)}.count-text{font-size:12px;color:var(--muted);margin-left:6px}.price{margin:8px 0;color:var(--muted)}.price .original{text-decoration:line-through;color:var(--muted);margin-right:8px}.price .discount{color:var(--accent);font-weight:700}.ribbon{position:absolute;left:12px;top:12px;transform:rotate(-15deg);transform-origin:left top;background:var(--accent);color:#fff;padding:6px 28px;font-size:12px;z-index:2;box-shadow:0 2px 6px #0000001f;border-radius:4px}.card-image{width:140px;height:110px;flex-shrink:0;border-radius:6px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;display:block}.card-actions{display:flex;align-items:center;gap:8px}.link-button{background:transparent;border:none;color:var(--muted);cursor:pointer}.coupon-card{position:relative;background:var(--card-bg);border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:row;align-items:stretch}.coupon-card:active{transform:scale(.98)}.coupon-card.is-selected{border:2px solid var(--accent);box-shadow:0 0 0 3px #ff6b8a26}.coupon-badge{position:absolute;left:-25px;top:15px;background:var(--accent);color:#fff;padding:4px 30px;font-size:10px;font-weight:600;z-index:2;transform:rotate(-45deg);box-shadow:2px 2px 4px #00000026}.coupon-ribbon{position:absolute;left:0;bottom:26px;background:var(--accent);color:#fff;padding:4px 12px;font-size:11px;font-weight:600;z-index:2;box-shadow:2px 2px 4px #00000026;border-radius:0 4px 4px 0}.coupon-image{width:120px;min-width:120px;height:auto;overflow:hidden;background:#00000005;margin:12px 0;align-self:center}.coupon-image img{width:100%;height:100%;object-fit:cover;display:block}.coupon-content{padding:14px;flex:1;display:flex;flex-direction:column}.coupon-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px;line-height:1.4}.coupon-count{font-size:12px;color:var(--muted);margin-bottom:8px}.coupon-price{display:flex;align-items:center;gap:6px;margin:10px 0}.price-original{font-size:14px;color:var(--muted);text-decoration:line-through}.price-arrow{font-size:14px;color:var(--muted)}.price-discount{font-size:20px;font-weight:700;color:var(--accent)}.price-normal{font-size:18px;font-weight:700;color:var(--text)}.coupon-desc{font-size:13px;color:var(--text);line-height:1.5;margin:8px 0 12px;opacity:.8}.coupon-action{text-align:right;color:var(--accent);font-size:13px;font-weight:600;padding:4px 8px;background:#ff6b8a0d;border-radius:4px;margin-top:auto;display:inline-block;align-self:flex-end}.coupon-card.is-selected .coupon-action{background:var(--accent);color:#fff}.radio-row{display:flex;align-items:center;gap:12px;padding:12px 8px;background:transparent;border-bottom:1px solid rgba(0,0,0,.06)}.radio-input{display:none}.radio-mark{width:24px;height:24px;border-radius:4px;border:2px solid var(--muted);display:inline-block;box-sizing:border-box}.radio-mark.is-checked{background:var(--accent);border-color:var(--accent);position:relative}.radio-mark.is-checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.radio-title{flex:1;color:var(--text)}.radio-price{color:var(--muted);min-width:80px;text-align:right}
