.tab-bar[data-v-66fb0d7e]{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;background:#fff;border-top:1px solid var(--line);z-index:50}.tab-item[data-v-66fb0d7e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--muted)}.tab-item.active[data-v-66fb0d7e]{color:var(--brand);font-weight:600}.icon[data-v-66fb0d7e]{font-size:18px;line-height:1}.app-root[data-v-0d39be94]{min-height:100vh;background:var(--bg);color:var(--text)}:root{--brand: #1a3a32;--brand-soft: #2d5a4e;--accent: #b8924a;--bg: #f5f3ef;--card: #ffffff;--text: #1f1f1f;--muted: #7a7a7a;--line: #ebe6df;--danger: #c45c4a;--ok: #2d7a5f;--brand-tint: rgba(26, 58, 50, .1);--hero-from: #1a3a32;--hero-to: #2d5a4e;--safe-bottom: env(safe-area-inset-bottom, 0px);--tab-h: 56px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;min-height:100%}body{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img{display:block;max-width:100%}.page{min-height:100vh;padding:12px 12px calc(var(--tab-h) + var(--safe-bottom) + 16px);background:var(--bg)}.page.no-tab{padding-bottom:calc(var(--tab-h) + var(--safe-bottom) + 16px)}.card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:12px}.section-title{font-size:16px;font-weight:600;color:var(--brand);margin:0 0 10px}.muted{color:var(--muted);font-size:13px}.price{color:var(--accent);font-weight:600}.price-strike{color:var(--muted);text-decoration:line-through;font-size:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;padding:10px 16px;background:var(--brand);color:#fff;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:var(--brand-tint);color:var(--brand)}.btn.outline{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.danger{background:var(--danger)}.btn.block{width:100%}.btn.sm{padding:6px 12px;font-size:13px;border-radius:8px}.field{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;outline:none}.field:focus{border-color:var(--brand-soft)}.empty{text-align:center;padding:48px 16px;color:var(--muted)}.link{color:var(--brand);font-size:13px}.tag{display:inline-block;padding:2px 8px;margin:0 6px 6px 0;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-size:12px}.bottom-bar{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-bottom));padding:10px 12px;background:#fffffff5;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;z-index:45}.toast{position:fixed;left:50%;bottom:20%;transform:translate(-50%);background:#1e1e1ee0;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:1000;max-width:80%;text-align:center;pointer-events:none}.banner-swiper{position:relative;height:180px;border-radius:12px;overflow:hidden;margin-bottom:12px;background:var(--brand)}.banner-swiper img{width:100%;height:180px;object-fit:cover}.stay-card .stay-date{font-size:20px;font-weight:600;color:var(--brand)}.stay-card .nights{padding:4px 10px;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-size:13px}.room-item{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.room-item:first-of-type{border-top:none}.room-cover{width:108px;height:80px;border-radius:10px;object-fit:cover;background:var(--line);flex-shrink:0}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;-webkit-overflow-scrolling:touch}.tabs .tab{flex:0 0 auto;padding:6px 12px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:13px;cursor:pointer}.tabs .tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.list-cell{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.list-cell:last-child{border-bottom:none}
