.dialog-mask[data-v-f542ef95]{z-index:2000;display:flex;align-items:center;justify-content:center}.dialog-modal[data-v-f542ef95]{width:80%;max-width:320px;padding:0;border-radius:16px;overflow:hidden;background:#fff}.dialog-head[data-v-f542ef95]{padding:24px 20px 8px;text-align:center}.dialog-head h3[data-v-f542ef95]{margin:0;font-size:18px;color:#333}.dialog-body[data-v-f542ef95]{padding:16px 24px 24px;text-align:center;font-size:15px;color:#666;line-height:1.5;white-space:pre-wrap}.dialog-foot[data-v-f542ef95]{display:flex;border-top:1px solid #f0f0f0}.dialog-btn[data-v-f542ef95]{flex:1;padding:16px 0;border:none;background:none;font-size:16px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.dialog-cancel[data-v-f542ef95]{color:#666;border-right:1px solid #f0f0f0}.dialog-confirm[data-v-f542ef95]{color:var(--primary-dark, #0d5867)}.week-accordion[data-v-8a6a7be8]{margin-top:16px;display:flex;flex-direction:column;gap:12px}.week-card[data-v-8a6a7be8]{border:1px solid #eee;border-radius:12px;background:#fafafa;overflow:hidden;transition:all .3s ease}.week-card.expanded[data-v-8a6a7be8]{background:#fff;border-color:var(--primary-color, #1a73e8);box-shadow:0 4px 12px #0000000d}.week-header[data-v-8a6a7be8]{padding:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.week-title[data-v-8a6a7be8]{display:flex;align-items:center;gap:8px}.week-title strong[data-v-8a6a7be8]{font-size:16px;color:#333}.week-date-range[data-v-8a6a7be8]{font-size:13px;color:#888}.week-status[data-v-8a6a7be8]{display:flex;align-items:center;gap:12px}.selected-badge[data-v-8a6a7be8]{font-size:12px;color:var(--primary-color, #1a73e8);background:#1a73e81a;padding:2px 8px;border-radius:10px}.icon-arrow[data-v-8a6a7be8]{font-style:normal;font-size:12px;color:#aaa;transition:transform .3s ease}.icon-arrow.up[data-v-8a6a7be8]{transform:rotate(180deg);color:var(--primary-color, #1a73e8)}.week-body[data-v-8a6a7be8]{padding:16px;border-top:1px dashed #eee;margin-top:8px}.timeline-slot[data-v-8a6a7be8]{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.slot-time-start[data-v-8a6a7be8],.slot-time-end[data-v-8a6a7be8]{font-size:11px}.slot-time-sep[data-v-8a6a7be8]{font-size:11px;color:inherit;opacity:.6;margin:2px 0}.method-info-grid[data-v-d4826df5]{display:flex;padding:0;background:none}.method-tags[data-v-d4826df5]{display:flex;gap:8px;flex-wrap:wrap}.method-tag[data-v-d4826df5]{background:#f0f4f8;color:#1a73e8;padding:4px 12px;border-radius:12px;font-size:14px}.fullscreen-view[data-v-9dfab81c]{min-height:100vh;background-color:#f7f8fa;margin-top:0;padding-bottom:env(safe-area-inset-bottom);display:flex;flex-direction:column}.privacy-content[data-v-9dfab81c]{padding:20px;line-height:1.6;flex:1}.privacy-title[data-v-9dfab81c]{text-align:center;font-size:18px;font-weight:600;margin-bottom:20px}.privacy-content h3[data-v-9dfab81c]{margin-top:24px;margin-bottom:12px;font-size:16px;font-weight:600}.privacy-content h3[data-v-9dfab81c]:first-child{margin-top:0}.privacy-content p[data-v-9dfab81c]{margin-bottom:10px;font-size:14px;color:#666}.privacy-content ul[data-v-9dfab81c]{margin-bottom:10px;padding-left:20px}.privacy-content li[data-v-9dfab81c]{font-size:14px;color:#666;margin-bottom:6px}.fullscreen-view[data-v-5aae54ed]{min-height:100vh;margin-top:0;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(180deg,#f7ffff,#eefafa 46%,#f7f8fa)}.service-content[data-v-5aae54ed]{flex:1;padding:24px 20px 28px;line-height:1.7;border-radius:0}.notice-section[data-v-5aae54ed]{margin-top:24px}.notice-section[data-v-5aae54ed]:first-of-type{margin-top:0}.notice-section h2[data-v-5aae54ed]{margin:0 0 12px;color:var(--text);font-size:16px;line-height:1.4}.notice-section p[data-v-5aae54ed]{margin:0 0 10px;color:#5f7277;font-size:14px}.info-list[data-v-5aae54ed],.package-list[data-v-5aae54ed],.step-list[data-v-5aae54ed]{display:grid;gap:10px;margin:0;padding:0}.info-row[data-v-5aae54ed],.package-card[data-v-5aae54ed]{border:1px solid rgba(216,238,238,.95);border-radius:14px;background:#ffffffc7}.info-row[data-v-5aae54ed]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 14px}.info-row strong[data-v-5aae54ed],.package-card strong[data-v-5aae54ed],.step-list strong[data-v-5aae54ed]{color:var(--text);font-size:14px}.info-row span[data-v-5aae54ed]{flex-shrink:0;color:var(--primary-dark);font-size:14px;font-weight:800}.package-card[data-v-5aae54ed]{padding:14px}.package-card div[data-v-5aae54ed]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.package-card span[data-v-5aae54ed]{flex-shrink:0;border-radius:999px;padding:4px 8px;background:#e9fbf3;color:var(--cta-dark);font-size:12px;font-weight:800}.package-card p[data-v-5aae54ed]{margin:0}.step-list[data-v-5aae54ed]{list-style:none;counter-reset:step}.step-list li[data-v-5aae54ed]{position:relative;min-height:58px;padding:0 0 12px 32px;border-left:1px solid rgba(8,145,178,.22);counter-increment:step}.step-list li[data-v-5aae54ed]:last-child{min-height:0;padding-bottom:0;border-left-color:transparent}.step-list li[data-v-5aae54ed]:before{content:counter(step);position:absolute;top:0;left:-13px;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#e8f7fa;color:var(--primary-dark);font-size:12px;font-weight:900}.step-list p[data-v-5aae54ed]{margin-top:4px}.method-list[data-v-5aae54ed]{display:flex;flex-wrap:wrap;gap:8px}.method-list span[data-v-5aae54ed]{min-height:34px;display:inline-flex;align-items:center;border-radius:999px;padding:0 12px;background:#f0fbfb;color:var(--primary-dark);font-size:13px;font-weight:800}.temp-appointment-page[data-v-df9730ed]{box-sizing:border-box;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 20px calc(env(safe-area-inset-bottom) + 28px);background:linear-gradient(180deg,#f7ffff,#eefafa 48%,#f7f8fa)}.appointment-card[data-v-df9730ed]{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:20px;padding:26px 20px 24px;border-radius:22px;text-align:center;box-sizing:border-box;background:#fff;box-shadow:0 12px 36px #0d58670d}.title-block h1[data-v-df9730ed]{margin:0;color:var(--text);font-size:24px;line-height:1.25}.title-block p[data-v-df9730ed]{margin:10px auto 0;max-width:18em;color:var(--muted);font-size:14px;line-height:1.7}.qr-wrap[data-v-df9730ed]{width:min(100%,280px);margin:0 auto;padding:12px;border:1px solid rgba(216,238,238,.95);border-radius:20px;background:#fff;box-shadow:0 14px 34px #0d58671a;box-sizing:border-box}.qr-wrap img[data-v-df9730ed]{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:12px;object-fit:contain}.wechat-box[data-v-df9730ed]{display:flex;flex-direction:column;gap:6px;width:min(100%,280px);margin:0 auto;padding:14px;border:0;border-radius:16px;background:#f0fbfb;color:inherit;text-align:center;box-sizing:border-box}.wechat-box span[data-v-df9730ed]{color:var(--muted);font-size:13px}.wechat-box strong[data-v-df9730ed]{color:var(--primary-dark);font-size:22px;letter-spacing:.08em}.wechat-box em[data-v-df9730ed]{color:var(--cta-dark);font-size:12px;font-style:normal;font-weight:800}.hint[data-v-df9730ed]{margin:0;color:#5f7277;font-size:13px;line-height:1.6}:root{color-scheme:light;--bg: #eefafa;--surface: #ffffff;--surface-soft: #f6fcfc;--line: #d8eeee;--text: #123d45;--muted: #6a8388;--primary: #0891b2;--primary-dark: #0f6b80;--cta: #059669;--cta-dark: #047857;--warning: #b7791f;--shadow: 0 14px 36px rgba(13, 88, 103, .12)}*{box-sizing:border-box}[v-cloak]{display:none}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100%;color:var(--text);background:radial-gradient(circle at top left,rgba(34,211,238,.18),transparent 32rem),linear-gradient(180deg,#f4ffff 0%,var(--bg) 58%,#e7f5f2 100%);font-family:Noto Sans SC,Noto Sans,PingFang SC,Microsoft YaHei,Arial,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{width:min(100%,100%);min-height:100vh;margin:0 auto;padding:18px 16px 92px}.app-header,.row-between,.section-title,.detail-head,.payment-summary,.muted-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-header{position:sticky;top:0;z-index:20;margin:-18px -16px 14px;padding:14px 16px 12px;border-bottom:1px solid rgba(216,238,238,.84);background:#f7ffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block{display:flex;align-items:center;gap:11px}.brand-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--cta));color:#fff;box-shadow:0 10px 22px #0891b23d;font-size:20px;font-weight:900}.app-header h1,.hero h2,.section-title h3,.detail-card h2,.success-card h2{margin:0;line-height:1.18}.app-header h1{font-size:22px}.login-pill{min-height:38px;border:1px solid rgba(8,145,178,.18);border-radius:999px;padding:0 14px;background:#e9fbf3;color:var(--cta-dark);font-size:13px;font-weight:900}.login-pill.signed{display:flex;align-items:center;gap:8px;max-width:148px;padding:4px 10px 4px 6px;background:#ffffffd1;color:var(--text)}.login-pill.signed img,.login-pill.signed i{width:30px;height:30px;flex:0 0 30px;border-radius:50%}.login-pill.signed img{object-fit:cover;background:var(--surface-soft)}.login-pill.signed i{display:grid;place-items:center;background:var(--primary);color:#fff;font-style:normal;font-size:13px}.login-pill.signed span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{margin:0 0 4px;color:var(--primary-dark);font-size:12px;font-weight:700}.screen{display:grid;gap:14px}.hero,.quick-panel,.counselor-card,.detail-card,.form-card,.record-card,.success-card,.modal{border:1px solid rgba(216,238,238,.9);background:#ffffffe0;box-shadow:var(--shadow)}.hero{display:grid;gap:18px;min-height:268px;padding:24px;border-radius:20px;align-content:space-between}.hero h2{max-width:10em;font-size:30px}.hero p{margin:12px 0 0;color:var(--muted);line-height:1.65}.quick-panel{display:grid;grid-template-columns:repeat(2,1fr);border-radius:18px;overflow:hidden}.quick-panel button{min-height:78px;padding:14px 10px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.quick-panel button:nth-child(2n){border-right:0}.quick-panel button:nth-child(n+3){border-top:1px solid var(--line)}.quick-panel strong,.quick-panel span{display:block}.quick-panel span{margin-top:6px;color:var(--muted);font-size:12px}.section-block{display:grid;gap:12px}.section-title button,.text-button{min-height:44px;border:0;background:transparent;color:var(--primary-dark);font-weight:700}.counselor-card{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px;border-radius:16px}.counselor-card--list{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.counselor-card--list:active{transform:translateY(1px)}.counselor-card--list:focus-visible{outline:3px solid rgba(8,145,178,.22);outline-offset:2px}.counselor-card-main{min-width:0}.counselor-card img,.detail-head img{width:76px;height:76px;border-radius:14px;object-fit:cover;background:var(--surface-soft)}.counselor-card h3,.counselor-card h4,.record-card strong{margin:0}.counselor-card p,.record-card p,.success-card p{margin:6px 0 10px;color:var(--muted);line-height:1.55}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag-row span,.status-pill{min-height:28px;display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;background:#e5f7f5;color:#0f6b80;font-size:12px;font-weight:700}.status-pill.muted{background:#eef2f7;color:#64748b}.professional-line-list{grid-column:1 / -1;display:grid;gap:7px;margin-top:2px;padding-top:12px;border-top:1px dashed rgba(149,190,190,.5)}.professional-line{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:start}.professional-line-list p{margin:0;color:#496468;font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.professional-line-list span{display:inline-flex;align-items:center;justify-content:center;min-height:22px;border-radius:6px;background:#eef8f6;color:#0f766e;font-size:11px;font-weight:800}.price{color:var(--cta-dark);font-weight:800}.card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px}.counselor-card-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:-2px}.compact-link{min-height:34px;padding:0 4px;color:var(--muted);font-size:13px}.primary-button,.secondary-button,.ghost-button{min-height:44px;border-radius:12px;padding:0 16px;border:1px solid transparent;font-weight:800}.primary-button{background:var(--cta);color:#fff}.primary-button:hover{background:var(--cta-dark)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.primary-button.small{min-height:40px}.secondary-button{background:#e8f8fa;color:var(--primary-dark)}.ghost-button{background:#ffffffbf;border-color:var(--line);color:var(--primary-dark)}.full{width:100%}.filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.filter-row button{min-height:40px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:0 14px;color:var(--muted);background:#fffc}.filter-row .active{border-color:var(--primary);background:#dff7fb;color:var(--primary-dark);font-weight:800}.detail-card,.form-card,.record-card,.success-card,.profile-card{border-radius:18px;padding:18px}.detail-head{justify-content:flex-start}.detail-head strong{display:inline-block;margin-top:8px;color:var(--cta-dark)}.body-copy{color:var(--muted);line-height:1.75}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.info-grid div,.channel-box{display:grid;gap:6px;padding:12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.info-grid span,.channel-box span,.channel-box small{color:var(--muted);font-size:12px}.counselor-detail-screen{gap:14px;padding-bottom:92px}.counselor-profile-hero{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center;padding:18px;border:1px solid rgba(216,238,238,.94);border-radius:18px;background:#ffffffeb;box-shadow:var(--shadow)}.counselor-profile-photo{width:92px;height:112px;border-radius:16px;object-fit:cover;background:var(--surface-soft)}.counselor-profile-main{min-width:0}.counselor-profile-main h1{margin:4px 0 6px;font-size:24px;line-height:1.2}.counselor-title{margin:0;color:var(--primary-dark);font-weight:800;line-height:1.45}.counselor-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.counselor-meta-row span{min-height:26px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;background:#e8f8fa;color:var(--primary-dark);font-size:12px;font-weight:800}.detail-section{display:grid;gap:12px;padding:16px;border:1px solid rgba(216,238,238,.94);border-radius:16px;background:#ffffffe6}.detail-summary-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch}.summary-price,.summary-methods,.appointment-info-grid div{display:grid;gap:6px;padding:12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.summary-price span,.summary-methods span,.credential-item span,.appointment-info-grid span{color:var(--muted);font-size:12px;font-weight:700}.summary-price strong{color:var(--cta-dark);font-size:22px}.summary-methods strong,.appointment-info-grid strong{color:var(--text);font-size:15px;line-height:1.45}.detail-section-title{display:flex;align-items:center;justify-content:space-between}.detail-section-title h2{margin:0;font-size:17px;line-height:1.3}.detail-copy,.credential-item p,.appointment-note{margin:0;color:var(--muted);font-size:15px;line-height:1.75;white-space:pre-line}.professional-tags,.target-list{display:flex;flex-wrap:wrap;gap:8px}.professional-tags span,.target-list span{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;padding:0 12px;background:#e9fbf3;color:#0f766e;font-size:13px;font-weight:800}.target-list span{background:#e8f8fa;color:var(--primary-dark)}.credentials-section{gap:10px}.credential-item{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.credential-item:first-of-type{padding-top:0;border-top:0}.appointment-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pricing-info-grid{grid-template-columns:1fr}.detail-action-bar{position:sticky;bottom:82px;z-index:15;padding:10px;border:1px solid rgba(216,238,238,.94);border-radius:16px;background:#ffffffeb;box-shadow:0 12px 28px #0d586724;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.form-card{display:grid;gap:14px}.compact-form{gap:12px}label{display:grid;gap:8px;color:var(--text);font-size:14px;font-weight:800}input,select,textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-soft);color:var(--text);outline:none}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid rgba(8,145,178,.24);outline-offset:2px}.payment-summary{padding:14px;border-radius:14px;background:#e9fbf3}.payment-summary strong{color:var(--cta-dark);font-size:22px}.booking-screen{padding-bottom:92px}.booking-flow{display:grid;gap:12px}.booking-counselor-card,.booking-section,.booking-summary{border:1px solid rgba(216,238,238,.94);border-radius:16px;background:#ffffffeb;box-shadow:var(--shadow)}.booking-counselor-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:14px}.booking-counselor-avatar{width:64px;height:64px;border-radius:14px;object-fit:cover;background:var(--surface-soft)}.booking-counselor-card div{min-width:0}.booking-counselor-card span,.booking-section-head p,.booking-option small,.booking-package-option small,.booking-summary span,.booking-summary small{color:var(--muted);font-size:12px;line-height:1.5}.booking-counselor-card strong{display:block;margin-top:2px;color:var(--text);font-size:18px}.booking-counselor-card p{margin:2px 0 0;color:var(--primary-dark);font-size:13px;font-weight:800;line-height:1.45}.booking-section{display:grid;gap:12px;padding:14px}.booking-section-head{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}.booking-section-head>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e8f8fa;color:var(--primary-dark);font-size:13px;font-weight:900}.booking-section-head h2{margin:0;color:var(--text);font-size:16px;line-height:1.35}.booking-section-head p{margin:2px 0 0}.booking-option-list,.booking-package-list,.booking-fields{display:grid;gap:10px}.booking-option,.booking-package-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--text);text-align:left}.booking-option span,.booking-package-option span{color:var(--text);font-size:15px;font-weight:900}.booking-option strong,.booking-package-option strong{color:var(--cta-dark);font-size:15px;white-space:nowrap}.booking-option small,.booking-package-option small{grid-column:1 / -1}.booking-option.active,.booking-package-option.active{border-color:var(--primary);background:#e8f8fa;box-shadow:inset 0 0 0 1px #0891b21a}.booking-summary{display:grid;gap:4px;padding:14px;background:#e9fbf3}.booking-summary strong{color:var(--cta-dark);font-size:20px;line-height:1.35}.appointments-screen,.appointment-booking-screen{padding-bottom:92px}.appointment-booking-head,.appointment-booking-panel{display:grid;gap:14px;border:1px solid rgba(216,238,238,.94);border-radius:16px;background:#ffffffeb;box-shadow:var(--shadow)}.appointment-booking-head,.appointment-booking-panel{padding:14px}.appointment-booking-head .ghost-button{width:max-content;min-height:38px}.timeline-grid{display:grid;gap:10px}.timeline-day-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:center;min-height:58px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.timeline-day-label{min-width:0}.timeline-day-label strong,.timeline-day-label span{display:block;line-height:1.35}.timeline-day-label strong{color:var(--text);font-size:14px}.timeline-day-label span,.timeline-full{color:var(--muted);font-size:12px;font-weight:800}.timeline-slot-row{display:flex;gap:2px;overflow-x:auto}.timeline-slot{min-width:50px;min-height:38px;flex:0 0 auto;border:1px solid #bfe8ec;border-radius:5px;padding:4px 10px;background:#fff;color:var(--primary-dark);font-size:11px}.timeline-slot.selected{border-color:var(--cta);background:var(--cta);color:#fff}.bookable-credit-list,.appointment-history-section{display:grid;gap:10px}.bookable-credit-card{gap:0}.bookable-credit-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.compact-action{min-width:72px;min-height:36px;padding:0 14px;border-radius:999px}.appointment-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;padding:12px;border-radius:16px}.appointment-card-time{min-height:96px;display:grid;align-content:center;justify-items:center;gap:3px;border-radius:14px;background:#e8f8fa;color:var(--primary-dark)}.appointment-card-time strong,.appointment-card-time span,.appointment-card-time small{display:block;line-height:1.25}.appointment-card-time strong{font-size:16px}.appointment-card-time span{font-size:12px;font-weight:900}.appointment-card-time small{color:var(--muted);font-size:11px;font-weight:800;text-align:center}.appointment-card-main{min-width:0;display:grid;gap:8px}.appointment-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.appointment-card-head p,.appointment-lock-note{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.appointment-card-fields{display:grid;gap:6px;margin:0}.appointment-card-fields div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;align-items:baseline}.appointment-card-fields dt,.appointment-card-fields dd{margin:0;font-size:12px;line-height:1.5}.appointment-card-fields dt{color:var(--muted);font-weight:800}.appointment-card-fields dd{min-width:0;color:var(--text);overflow-wrap:anywhere}.appointment-card-actions{display:flex;justify-content:flex-end}.counselor-appointment-group{gap:10px;border:1px solid rgba(216,238,238,.9);border-radius:16px;padding:10px;background:#ffffffe0;box-shadow:0 10px 24px #0d586714}.appointment-group-toggle{width:100%;min-height:48px;border:0;border-radius:12px;padding:6px 4px;background:transparent;color:var(--text);text-align:left}.appointment-group-toggle h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.appointment-group-toggle .count-badge{min-height:22px;display:inline-flex;align-items:center;border-radius:999px;padding:0 8px;background:#dff7fb;color:var(--primary-dark);font-size:12px;font-weight:800;line-height:1}.group-chevron{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;border-radius:999px;transition:transform .18s ease}.group-chevron:before{content:"";width:6px;height:6px;transform:translateY(-1px) rotate(45deg);border-right:1.5px solid var(--primary-dark);border-bottom:1.5px solid var(--primary-dark)}.appointment-group-toggle[aria-expanded=true] .group-chevron{transform:rotate(180deg)}.counselor-reminder-card{gap:10px}.counselor-reminder-card .row-between{align-items:flex-start}.counselor-reminder-card .row-between>div{min-width:0}.counselor-reminder-card .status-pill{flex:0 0 auto}.visitor-line{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.inline-status{min-height:22px;padding:2px 8px;font-size:11px}.compact-meta{display:grid;gap:6px;margin:0;border-top:1px solid rgba(216,238,238,.75);padding-top:8px}.compact-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:baseline}.compact-meta dt,.compact-meta dd{margin:0;font-size:12px;line-height:1.5}.compact-meta dt{color:var(--muted);font-weight:800}.compact-meta dd{min-width:0;color:var(--text);overflow-wrap:anywhere}.counselor-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.text-danger-button{min-height:30px;border:1px solid rgba(244,63,94,.2);border-radius:999px;padding:0 10px;background:#fff1f2bf;color:#be123c;font-size:12px;font-weight:800}.text-danger-button:disabled{cursor:not-allowed;border-color:var(--line);background:#ffffff9e;color:var(--muted)}.appointment-inline-form{display:grid;gap:10px}.appointment-inline-form textarea{min-height:76px}.appointment-modal{align-self:end;gap:14px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h3{margin-top:2px}.modal-close-button{min-height:36px;padding:0 12px;border-radius:999px}.appointment-modal textarea{min-height:84px}.empty-copy,.order-line{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.success-card{min-height:420px;display:grid;gap:16px;align-content:center;text-align:center}.success-mark{width:72px;height:72px;display:grid;place-items:center;margin:0 auto;border-radius:50%;background:var(--cta);color:#fff;font-size:38px;font-weight:900}.channel-box.compact{margin-top:10px}.profile-card{display:grid;gap:16px;border:1px solid rgba(216,238,238,.9);background:#ffffffe0;box-shadow:var(--shadow)}.mine-profile-card{position:relative;padding-right:58px}.profile-edit-icon{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#ffffffdb;color:var(--primary-dark);font-size:18px;font-weight:900}.profile-head{display:flex;align-items:center;gap:14px}.profile-head h2,.profile-head p{margin:0}.profile-head p{margin-top:4px;color:var(--muted)}.avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--primary);color:#fff;font-size:24px;font-weight:900}.avatar-image{width:58px;height:58px;flex:0 0 58px;border-radius:16px;object-fit:cover;background:var(--surface-soft)}.profile-photo{width:64px;height:64px;border-radius:16px;object-fit:cover;background:var(--surface-soft)}.profile-edit-form{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.profile-edit-form label{display:grid;gap:8px;color:var(--text);font-weight:800}.profile-edit-form input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff;color:var(--text);outline:none}.profile-avatar-picker{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center}.profile-avatar-picker img,.profile-avatar-picker i{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;object-fit:cover;background:var(--primary);color:#fff;font-style:normal;font-size:24px;font-weight:900}.profile-avatar-picker div{display:grid;gap:8px}.profile-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-edit-actions button,.ghost-button{min-height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--primary-dark);font-weight:900}.profile-message{margin:0;color:var(--muted);font-size:13px}.counselor-quick button{min-height:84px}.menu-list{display:grid;gap:10px}.menu-list button{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:#ffffffe6;color:var(--text);box-shadow:0 8px 22px #0d586714}.menu-list strong{color:var(--primary-dark)}.menu-list button.muted-action{background:#ffffffa6;color:var(--muted);box-shadow:none}.menu-list button.muted-action strong{color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{margin:2px 0 0;color:var(--text);font-size:18px}.order-history-card{gap:8px}.person-inline{min-width:0;display:flex;align-items:center;gap:10px}.person-inline img{width:44px;height:44px;flex:0 0 auto;border-radius:12px;object-fit:cover;background:var(--surface-soft)}.person-inline p{margin:4px 0 0;color:var(--muted);font-size:13px}.credit-card .row-between{align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats-grid div{display:grid;gap:6px;min-height:76px;padding:12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.stats-grid span,.schedule-strip span{color:var(--muted);font-size:12px}.stats-grid strong{color:var(--primary-dark);font-size:24px}.schedule-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.schedule-strip button{min-height:68px;display:grid;gap:6px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#ffffffe6;color:var(--text);text-align:left}.mobile-calendar{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px}.mobile-calendar button{min-height:78px;display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#ffffffe6;color:var(--text);text-align:left}.mobile-calendar .active{border-color:var(--primary);background:#dff7fb}.mobile-calendar span,.mobile-calendar small,.counselor-slot-card span,.counselor-slot-card small,.conflict-box span{color:var(--muted)}.schedule-legend.mobile{display:flex;flex-wrap:wrap;gap:8px}.schedule-legend.mobile span{min-height:30px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:#ffffffe6;color:var(--muted);font-size:12px;font-weight:800}.state-dot{width:9px;height:9px;display:inline-block;border-radius:50%}.state-dot.available{background:#059669}.state-dot.booked{background:#0891b2}.state-dot.picked{background:#7c3aed}.state-dot.remove{background:#dc2626}.state-dot.locked{background:#b7791f}.state-dot.disabled{background:#b42318}.counselor-slot-list{display:grid;gap:10px}.counselor-slot-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#ffffffe6}.counselor-slot-card div{display:grid;gap:5px}.counselor-slot-card button{min-height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface-soft);color:var(--primary-dark);font-weight:800}.week-switcher{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.week-switcher strong{min-width:0;color:var(--text);font-size:14px;text-align:center}.counselor-week-grid-wrap{min-height:0;overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:14px;background:#fff}.schedule-sticky-timebar{--schedule-sticky-top: 68px;position:sticky;top:var(--schedule-sticky-top);z-index:12;display:grid;grid-template-columns:92px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;background:#fff}.schedule-sticky-timebar--edit{grid-template-columns:76px minmax(0,1fr)}.schedule-sticky-timebar+.counselor-week-grid-wrap,.schedule-sticky-timebar+.mobile-time-grid-wrap{margin-top:-13px;border-top:0;border-radius:0 0 14px 14px}.schedule-timebar-corner,.schedule-timebar-cell{min-height:44px;display:grid;place-items:center;border-right:1px solid var(--line);background:#e9f8fa;color:var(--primary-dark);font-size:12px;font-weight:900}.schedule-timebar-corner{position:relative;z-index:2}.schedule-timebar-viewport{min-width:0;overflow:hidden}.schedule-timebar-track{display:grid;width:max-content;will-change:transform}.counselor-week-grid{display:grid;grid-template-columns:88px repeat(7,104px);width:max-content}.counselor-week-grid--date-rows{grid-auto-rows:minmax(58px,auto)}.counselor-week-grid .week-grid-corner{position:sticky;top:var(--schedule-sticky-top);left:0;z-index:4;min-height:44px}.week-day-head,.week-time-head,.week-slot-cell{min-height:54px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.week-day-head,.week-time-head{display:grid;place-items:center;background:#e9f8fa;color:var(--primary-dark);font-size:12px;font-weight:900}.week-day-head span{color:var(--muted);font-size:11px}.week-time-head{position:sticky;left:0;z-index:2}.week-time-column-head{position:sticky;top:var(--schedule-sticky-top);left:auto;z-index:2;min-height:44px;padding-inline:4px}.week-day-row-head{position:sticky;left:0;z-index:3;padding-inline:10px;place-items:center;text-align:center}.week-slot-cell{display:grid;place-items:center;gap:3px;padding:6px;background:#f8fafc;color:var(--muted);line-height:1.35}.week-slot-cell.available{background:#ecfdf5;color:#047857}.week-slot-cell.booked{cursor:pointer;background:#cffafe;color:#0e7490}.week-slot-cell.booked:active{transform:scale(.98)}.week-slot-cell strong{color:inherit;font-size:11px;font-weight:800;line-height:1.3}.week-slot-cell small{max-width:88px;overflow:hidden;color:inherit;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.schedule-edit-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;background:#ffffffe6}.conflict-box.mobile{display:grid;gap:6px;border-radius:14px;padding:12px;background:#fff9e8;border:1px solid #f5df9c}.mobile-picker-modal{width:min(100%,100%);max-height:min(760px,calc(100vh - 36px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid var(--line);border-radius:20px;padding:16px;background:#fffffffa;box-shadow:0 24px 70px #07272e3d}.mobile-picker-modal h3,.picker-copy{margin:0}.picker-copy{margin-bottom:12px;color:var(--muted);line-height:1.55}.mobile-time-grid-wrap{min-height:0;overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:14px;background:#fff}.mobile-time-grid{display:grid;grid-template-columns:76px repeat(24,48px);width:max-content}.schedule-edit-grid{display:grid;grid-template-columns:76px repeat(30,56px);width:max-content}.schedule-edit-grid--date-rows{grid-auto-rows:minmax(44px,auto)}.schedule-edit-grid .schedule-edit-corner{position:sticky;top:var(--schedule-sticky-top);left:0;z-index:4}.edit-hour-head{position:sticky;top:var(--schedule-sticky-top);z-index:2}.schedule-edit-grid .edit-date-head{justify-items:center;text-align:center}.grid-corner,.time-head,.date-head,.time-cell{min-height:40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.grid-corner,.time-head,.date-head{display:grid;place-items:center;background:#e9f8fa;color:var(--primary-dark);font-size:12px;font-weight:900}.grid-corner,.date-head{position:sticky;left:0;z-index:2}.date-head{justify-items:start;padding:7px 8px}.date-head span{color:var(--muted)}.time-cell{border-top:0;border-left:0;background:#fff;color:transparent;font-size:12px;font-weight:900}.time-cell.picked{background:#dff7fb;color:var(--primary-dark)}.time-cell.available{background:#e9fbf3;color:#047857}.time-cell.booked{background:#cffafe;color:#0e7490;box-shadow:inset 0 0 0 2px #0891b238}.time-cell.removing{background:#fee2e2;color:#b91c1c}.time-cell.locked{background:#fff4d6;color:#8a5a12}.time-cell.disabled{background:#ffe4e0;color:#9f1d14}.time-cell:disabled{cursor:not-allowed;opacity:.9}.picker-actions.mobile{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:12px}.picker-actions.mobile button{min-height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;color:var(--primary-dark);font-weight:900}.picker-actions.mobile .primary-button{border-color:transparent;background:var(--cta);color:#fff}.bottom-nav{position:fixed;left:50%;bottom:12px;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:min(calc(100% - 24px),100%);transform:translate(-50%);border:1px solid var(--line);border-radius:18px;padding:6px;background:#ffffffeb;box-shadow:0 10px 26px #0d58672e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{min-height:46px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:800;font-size:13px}.bottom-nav .active{background:#dff7fb;color:var(--primary-dark)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:end center;padding:18px;background:#07272e59}.modal{width:min(100%,480px);display:grid;gap:12px;border-radius:20px;padding:20px}.login-screen{place-items:stretch;padding:0;background:radial-gradient(circle at 18% 10%,rgba(34,211,238,.2),transparent 18rem),linear-gradient(180deg,#f4ffff,#eefafa 58%,#e7f5f2)}.login-modal{width:100%;min-height:100vh;align-content:center;gap:16px;border-radius:0;padding:28px 20px max(28px,env(safe-area-inset-bottom));background:transparent;box-shadow:none}.login-modal-head{display:grid;gap:8px;margin-bottom:8px}.login-modal-head span{color:var(--primary-dark);font-size:13px;font-weight:900}.login-modal-head h3{font-size:28px;line-height:1.2}.wechat-login-button{min-height:48px;border:0;border-radius:999px;background:#07c160;color:#fff;font-weight:900}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--line)}.modal h3,.modal p{margin:0}.modal p{color:var(--muted);line-height:1.6}.code-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px;align-items:end}.code-row button{min-height:46px;border:1px solid var(--line);background:var(--surface-soft);color:var(--primary);font-weight:900}.form-note{color:var(--primary);font-size:13px;font-weight:800}.article-card,.article-detail-card{border:1px solid rgba(216,238,238,.9);border-radius:16px;background:#ffffffe6;box-shadow:var(--shadow)}.article-card{overflow:hidden;cursor:pointer}.article-card:active{transform:translateY(1px)}.article-card:focus-visible{outline:3px solid rgba(8,145,178,.22);outline-offset:2px}.article-card img{width:100%;aspect-ratio:16 / 9;display:block;object-fit:cover;background:var(--surface-soft)}.article-card-body{display:grid;gap:8px;padding:14px}.article-card-body h3,.article-detail-head h1,.article-detail-head p,.article-card-body p,.article-card-body small{margin:0}.article-card-body h3{color:var(--text);font-size:18px;line-height:1.35}.article-card-body p,.article-card-body small,.article-detail-head p{color:var(--muted);line-height:1.6}.article-card-body small{font-size:13px}.article-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.article-card-tags{display:flex;flex-wrap:wrap;gap:6px}.article-card-tags span{min-height:24px;display:inline-flex;align-items:center;border-radius:999px;padding:0 8px;background:#eef8f6;color:#0f766e;font-size:11px;font-weight:800}.empty-copy{margin:0;color:var(--muted);line-height:1.6}.article-detail-screen{padding-bottom:92px}.article-detail-card{overflow:hidden}.article-detail-cover{width:100%;aspect-ratio:16 / 9;display:block;object-fit:cover;background:var(--surface-soft)}.article-detail-head{display:grid;gap:10px;padding:18px 16px 8px}.article-detail-head h1{color:var(--text);font-size:24px;line-height:1.3}.article-content{padding:8px 16px 20px;color:var(--text);line-height:1.85}.article-content p{margin:0 0 14px}.article-content h2,.article-content h3{margin:22px 0 12px;line-height:1.35}.article-content ul,.article-content ol{padding-left:22px}@media(max-width:360px){#app{padding-inline:12px}.hero{padding:20px}.hero h2{font-size:26px}.info-grid,.stats-grid,.schedule-strip,.mobile-calendar{grid-template-columns:1fr}}
