:root{
  --orange:#f8a531;
  --orange-dark:#f0941a;
  --orange-light:#fff4e2;
  --text:#222;
  --text-sub:#8a8a8a;
  --border:#eee;
  --bg:#f7f7f7;
  --radius:12px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{
  margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;
  background:#fff;color:var(--text);
}
.topbar{
  display:flex;align-items:center;justify-content:center;position:relative;
  padding:14px 16px;background:#f0f0f0;
}
.topbar .close{position:absolute;left:14px;font-size:22px;color:#333;line-height:1;}
.topbar .titles{text-align:center;}
.topbar .name{font-size:17px;font-weight:600;}
.topbar .url{font-size:11px;color:#999;margin-top:2px;}
.topbar .share-ic{
  position:absolute;right:14px;font-size:13px;color:var(--orange-dark);
  background:var(--orange-light);padding:6px 12px;border-radius:20px;font-weight:600;
}

.section{padding:18px 16px 4px;}
.section h3{font-size:16px;margin:0 0 12px;font-weight:600;}
.section h3 .sub-toggle{float:right;font-size:16px;font-weight:500;color:var(--text-sub);}
.section h3 .sub-toggle .on{color:var(--orange);font-weight:700;font-size:17px;}
.section h3 .sub-toggle .sep{margin:0 6px;color:#ddd;}

.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.grid.g3{grid-template-columns:repeat(3,1fr);}
.chip{
  border:1px solid var(--border);border-radius:10px;background:#fafafa;
  padding:14px 4px;text-align:center;font-size:14px;color:#333;cursor:pointer;
  transition:all .15s ease;line-height:1.4;
}
.chip .top{font-size:15px;font-weight:600;display:block;}
.chip .bottom{font-size:12px;color:var(--text-sub);display:block;margin-top:2px;}
.chip.active{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:600;}
.chip.active .bottom{color:#fff;}
.chip.disabled{opacity:.4;pointer-events:none;}

.time-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.time-chip{
  border:1px solid var(--border);border-radius:10px;background:#fafafa;
  padding:14px 2px;text-align:center;font-size:15px;font-weight:600;color:#333;cursor:pointer;
}
.time-chip.active{background:var(--orange);border-color:var(--orange);color:#fff;}

.form-block{padding:16px;}
.form-row{margin-bottom:14px;}
.form-row label{display:block;font-size:13px;color:var(--text-sub);margin-bottom:6px;}
.form-row input, .form-row textarea{
  width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 14px;
  font-size:15px;background:#fafafa;color:var(--text);
}
.form-row textarea{resize:none;height:70px;}

.summary-bar{
  position:sticky;bottom:0;left:0;right:0;background:#f5f5f5;
  padding:16px;display:flex;align-items:center;justify-content:center;
  font-size:15px;color:#555;border-top:1px solid #eee;
}
.bottom-btn{
  position:sticky;bottom:0;left:0;right:0;background:var(--orange);color:#fff;
  text-align:center;padding:15px;font-size:16px;font-weight:600;letter-spacing:1px;cursor:pointer;
}
.bottom-btn.disabled{background:#e0b26a;pointer-events:none;}

.modal-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;
  z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;
}
.modal-mask.show{opacity:1;pointer-events:auto;}
.modal-card{
  background:#fff;border-radius:18px 18px 0 0;width:100%;padding:20px 18px 26px;
  transform:translateY(30px);transition:transform .25s;
}
.modal-mask.show .modal-card{transform:translateY(0);}
.modal-card h4{margin:0 0 14px;font-size:17px;text-align:center;}
.modal-actions{display:flex;gap:10px;margin-top:6px;}
.btn{
  flex:1;text-align:center;padding:13px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;
}
.btn.primary{background:var(--orange);color:#fff;}
.btn.plain{background:#f0f0f0;color:#555;}

.result-page{padding:60px 24px;text-align:center;}
.result-page .icon{font-size:56px;}
.result-page h2{margin:14px 0 6px;font-size:19px;}
.result-page p{color:var(--text-sub);font-size:14px;margin:4px 0;}
.result-page .order-no{font-size:14px;color:#999;margin-top:10px;}
.result-page .actions{margin-top:26px;display:flex;gap:12px;justify-content:center;}
.result-page .actions a{
  padding:11px 22px;border-radius:22px;font-size:14px;text-decoration:none;
}
.result-page .actions .a1{background:var(--orange);color:#fff;}
.result-page .actions .a2{background:#f0f0f0;color:#555;}
.clickable-table{color:var(--orange-dark);font-weight:600;text-decoration:underline dotted;}
.share-invite-btn{
  margin:22px auto 0;max-width:280px;background:var(--orange-light);color:var(--orange-dark);
  border-radius:22px;padding:12px 18px;font-size:13px;font-weight:600;
}

.query-list{padding:14px 16px;}
.q-card{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px;position:relative;}
.q-card .status{
  position:absolute;right:14px;top:14px;font-size:12px;padding:3px 10px;border-radius:20px;
}
.q-card .status.s0{background:#fff4e2;color:var(--orange-dark);}
.q-card .status.s1{background:#e8f7ee;color:#1ea45a;}
.q-card .status.s2{background:#f2f2f2;color:#999;}
.q-card .status.s3{background:#eef1ff;color:#5b6ee1;}
.q-card .row{font-size:14px;color:#444;margin:5px 0;}
.q-card .row b{color:#111;}
.q-card .cancel-reason{font-size:12px;color:#c0392b;margin-top:6px;}
.empty-tip{text-align:center;color:#aaa;padding:60px 0;font-size:14px;}
.toast{
  position:fixed;left:50%;top:44%;transform:translateX(-50%);background:rgba(0,0,0,.75);
  color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;z-index:999;
}
.query-entry{
  text-align:center;padding:14px;font-size:13px;color:var(--orange-dark);text-decoration:none;display:block;
}

/* ---- v2: 具体桌台选择 ---- */
.type-group{margin-bottom:18px;}
.type-group .type-title{font-size:14px;color:var(--text-sub);margin:0 0 8px;font-weight:600;}
.table-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.table-chip{
  border:1px solid var(--border);border-radius:10px;background:#fafafa;
  padding:10px 4px;text-align:center;cursor:pointer;position:relative;
}
.table-chip .t-name{font-size:14px;font-weight:600;display:block;}
.table-chip .t-cap{font-size:11px;color:var(--text-sub);display:block;margin-top:2px;}
.table-chip.selected{background:var(--orange);border-color:var(--orange);}
.table-chip.selected .t-name, .table-chip.selected .t-cap{color:#fff;}
.table-chip.booked{background:#fdecea;border-color:#f6b3a8;pointer-events:none;}
.table-chip.booked .t-name{color:#e0533b;font-weight:600;}
.table-chip.booked .t-cap{color:#e8998c;}
.table-chip.booked::after{
  content:'待确认';position:absolute;right:4px;top:4px;font-size:10px;color:#fff;font-weight:600;
  background:#ef6a53;padding:1px 6px;border-radius:6px;
}
.closed-tip{
  text-align:center;color:#c0392b;background:#fdeeee;border-radius:10px;
  padding:14px;margin:0 16px 16px;font-size:13px;
}
.legend{display:flex;gap:16px;padding:0 16px 10px;font-size:12px;color:var(--text-sub);}
.legend span{display:flex;align-items:center;gap:5px;}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;}
.legend .i-free{background:#fafafa;border:1px solid var(--border);}
.legend .i-sel{background:var(--orange);}
.legend .i-booked{background:#ef6a53;}

/* ---- 分享弹窗 ---- */
#shareModal .modal-card, .share-card-wrap{
  background:#fff;border-radius:18px 18px 0 0;width:100%;padding:16px 14px 20px;
  max-height:88vh;display:flex;flex-direction:column;transform:translateY(30px);transition:transform .25s;
}
.modal-mask.show .share-card-wrap{transform:translateY(0);}
.share-close{align-self:flex-end;font-size:20px;color:#999;line-height:1;padding:2px 6px;margin-bottom:4px;}
.share-scroll{overflow-y:auto;flex:1;border-radius:14px;}
.share-card{
  border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fff8ec,#fff 220px);
  border:1px solid #f3e6cf;
}
.share-card .sc-top-img{width:100%;display:block;height:auto;object-fit:cover;}
.sc-loading{padding:60px 0;text-align:center;color:#bbb;font-size:13px;}
.sc-body{padding:16px 18px 50px;}
.sc-title{font-size:16px;font-weight:700;color:#a85d00;text-align:center;letter-spacing:1px;}
.sc-greeting{font-size:13.5px;color:#555;text-align:center;margin:6px 0 14px;line-height:1.6;}
.sc-info{background:#fff;border-radius:10px;padding:12px 14px;font-size:13.5px;color:#333;line-height:2;box-shadow:0 1px 6px rgba(0,0,0,.04);}
.sc-info b{color:var(--orange-dark);}
.sc-nav-btn{
  display:flex;align-items:center;justify-content:center;gap:4px;margin-top:10px;
  background:var(--orange);color:#fff;border-radius:20px;padding:9px;font-size:13px;font-weight:600;
}
.sc-section-title{font-size:14.5px;font-weight:700;color:#a85d00;margin:18px 0 10px;}
.sc-feature{font-size:13.5px;color:#333;line-height:1.8;margin-bottom:10px;}
.sc-feature img{width:100%;border-radius:10px;margin-top:6px;display:block;object-fit:cover;height:auto;}
.sc-contact{font-size:13.5px;color:#333;text-align:center;margin-top:16px;font-weight:600;}
.sc-footer{font-size:12.5px;color:#c0392b;text-align:center;margin-top:8px;}

.share-actions{display:flex;gap:10px;margin-top:14px;flex:0 0 auto;}
.share-tip{font-size:11px;color:#bbb;text-align:center;margin-top:10px;line-height:1.6;}

/* 独立分享页（share.html） */
.share-page-wrap{padding:14px 16px 0;}
.share-bottom-bar{
  position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee;
  padding:12px 16px;display:flex;gap:10px;z-index:50;
}
.share-bottom-bar .btn{flex:1;text-align:center;padding:13px;border-radius:10px;font-size:15px;font-weight:600;}
.share-page-wrap ~ .share-tip{position:fixed;bottom:66px;left:0;right:0;background:#fff;margin:0;z-index:49;}

/* 地图选择弹层（导航方式） */
.map-choice-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;display:flex;align-items:flex-end;}
.map-choice-box{background:#fff;border-radius:16px 16px 0 0;width:100%;padding:16px;}
.map-choice-box .opt{padding:14px;text-align:center;font-size:15px;border-bottom:1px solid #f2f2f2;color:#333;}
.map-choice-box .opt:active{background:#fafafa;}
.map-choice-box .cancel{margin-top:8px;padding:14px;text-align:center;font-size:15px;color:#999;}
