/* ═══════════════════════════════════════════════════════════════════
   內頁換皮層 skin.css（2026-07-28，自動產生）

   各頁的 <style> 寫在 app.css 之後，所以 app.css 的換皮蓋不到它們。
   這支檔案由每個頁面在 </head> 前多掛一行 <link> 載入 —— 排在所有
   內嵌樣式之後，才有辦法覆寫。頁面原本的 <style> 一行都沒有動。

   只覆寫 border-radius 與 box-shadow 兩個屬性。這兩個屬性不參與版面
   計算，不影響任何元素的大小、位置、流動或點擊範圍 —— 換皮零功能風險。

   原本是圓形(50%)或已經是膠囊的選擇器一律跳過，避免把圓點壓成方塊。
   ═══════════════════════════════════════════════════════════════════ */


/* ── 小型互動與標籤元件 → 膠囊（45 個選擇器）── */
.acc-period-tab,
.badge,
.date-chip,
.btn {
  border-radius: 999px;
}
.pill,
.status-tag,
.log-badge,
.view-tabs {
  border-radius: 999px;
}
.view-tabs button,
.nav-btn,
.status-legend,
.method-pill {
  border-radius: 999px;
}
.status,
.cc-tabs button:not(.btn),
.pv-btn,
.pv-fn-chip {
  border-radius: 999px;
}
.tier-badge,
.badge-status,
.appt-status-pill,
.tag {
  border-radius: 999px;
}
.chk-grid label,
.mb-tag,
.md-tab,
.chat-qr-chip {
  border-radius: 999px;
}
.shop-row-btn,
.lf-btn,
.lf-qr-chip,
.table-card {
  border-radius: 999px;
}
.contact-btn,
.flex-card-btn,
.btn-link,
.deploy-status {
  border-radius: 999px;
}
.q-pill,
.sp-tabs,
.sp-tab,
.tag-new {
  border-radius: 999px;
}
.tag-old,
.chip,
.int-pill,
.level-badge {
  border-radius: 999px;
}
.color-legend,
.lm-pill,
.lm-card-btn,
.legend i {
  border-radius: 999px;
}
.txn-badge {
  border-radius: 999px;
}

/* ── 輸入類 → 10px（19 個選擇器）── */
select,
input,
.blk input,
.blk textarea {
  border-radius: 10px;
}
.blk select,
.rate-input,
.date-range input,
input[type=search] {
  border-radius: 10px;
}
.add-form input,
.add-form select,
fieldset,
.field-input {
  border-radius: 10px;
}
.plan-select,
.modal .m-input,
.intro-card-editor-body input,
.intro-card-editor-body textarea {
  border-radius: 10px;
}
.pl-ctrl select,
.tier-row input,
.tier-row select {
  border-radius: 10px;
}

/* ── 容器 → 14px（130 個選擇器）── */
.a-stat,
.door-card,
.door-card .qr,
.acc-stat {
  border-radius: 14px;
}
.sev-warning,
.sev-blocked,
.rule-card,
.card {
  border-radius: 14px;
}
.cslot,
.preview-list,
.log-list,
.toolbar {
  border-radius: 14px;
}
#staff-filter,
.calendar-wrap,
.month-cell-event,
.event-block {
  border-radius: 14px;
}
.month-cell-rental,
.month-cell-rental::before,
.rental-block,
.rental-block::before {
  border-radius: 14px;
}
.deposit-bar,
.logo,
.cc-card-item,
.palette button {
  border-radius: 14px;
}
.blk,
.blk-head button,
.pv-wrap,
.pv-card {
  border-radius: 14px;
}
.pv-empty,
.pv-fn,
.pv-textmsg,
.cp-card {
  border-radius: 14px;
}
.summary-box,
details.staff-detail,
.item,
.coupon-card {
  border-radius: 14px;
}
.cust-header,
.blacklist-banner,
.stat-box,
.section-card {
  border-radius: 14px;
}
.ticket-card,
.uses-bar,
.appt-card,
.chat-log {
  border-radius: 14px;
}
.chat-msg,
.chat-meta .rule,
.coach-sel,
.g-card {
  border-radius: 14px;
}
.tier-card,
.mb-card,
.md-cell,
.md-cell-img {
  border-radius: 14px;
}
.md-cell-img-empty,
.phone-frame,
.phone-screen,
.chat-bubble {
  border-radius: 14px;
}
.chat-bubble img,
.chat-button,
.chat-card,
.shop-bubble {
  border-radius: 14px;
}
.shop-row-img,
.shop-row-img-empty,
.intro-card-preview,
.intro-card-preview-cta {
  border-radius: 14px;
}
.lf-textbubble,
.lf-imgmsg,
.lf-bubble,
.sum-box {
  border-radius: 14px;
}
.brand-mark,
.gate-box,
.gate-err,
.stat {
  border-radius: 14px;
}
.err-banner,
.modal,
#toast,
.pnl-box {
  border-radius: 14px;
}
.net-box,
.contact-card,
.flex-card,
.intro-card-editor {
  border-radius: 14px;
}
.intro-card-editor-header,
.intro-card-editor-img-thumb,
.intro-empty,
.toolbar .preset button {
  border-radius: 14px;
}
.pl-pager button,
.chart-tooltip,
.staff-row,
.staff-bar-track {
  border-radius: 14px;
}
.staff-bar-fill,
.staff-metric,
.staff-full-link,
.rm-preview-wrap {
  border-radius: 14px;
}
.rm-preview,
.rm-area-item,
.line-list-item,
.wd-cell {
  border-radius: 14px;
}
.slot-list,
.slot .st,
.series-item,
.svc-thumb {
  border-radius: 14px;
}
.svc-thumb-empty,
.svc-img-large,
.q-card,
.q-form {
  border-radius: 14px;
}
.masked-show,
.sp-logout,
.sp-card,
.sp-stat {
  border-radius: 14px;
}
.sp-preset button,
.back-link,
.preset button,
.kpi {
  border-radius: 14px;
}
.bar-track,
.bar-fill,
.wk .wk-bar,
.tlog-card {
  border-radius: 14px;
}
.staff-card,
.line-mock,
.lm-bubble,
.lm-card {
  border-radius: 14px;
}
.tut-foot,
.lm-richmenu,
.plan-card,
.weeknav button {
  border-radius: 14px;
}
.cell,
.vr-stat,
.chart-box,
.chart-title::before {
  border-radius: 14px;
}
.lg-item,
.venue-card {
  border-radius: 14px;
}

/* ── 非浮層一律拿掉陰影（gym 的招牌是到處柔陰影）（48 個選擇器）── */
.door-card,
.cslot.active,
.toolbar,
.view-tabs button.active {
  box-shadow: none;
}
.nav-btn:hover,
.legend-staff-bar::before,
.calendar-wrap,
.month-cell.today {
  box-shadow: none;
}
.month-cell-event:hover,
.ev-coach,
.event-block,
.event-block:hover {
  box-shadow: none;
}
.rental-block,
.card,
.cc-card-item.active,
.seg-btn.active {
  box-shadow: none;
}
.phone-frame,
.shop-bubble,
.intro-card-preview,
.lf-textbubble {
  box-shadow: none;
}
.lf-bubble,
.brand-mark,
.gate-box,
.field-input:focus-within {
  box-shadow: none;
}
.btn-primary,
.btn-primary:hover:not(:disabled),
.contact-card,
.flex-card {
  box-shadow: none;
}
.staff-full-link,
.staff-full-link:hover,
.btn,
.btn:hover:not(:disabled) {
  box-shadow: none;
}
.wd-cell:has(input[type=checkbox]:checked),
.sp-header,
.sp-tabs,
.sp-tab.active {
  box-shadow: none;
}
.sp-card,
.preset button.active,
.stat-box,
.section-card {
  box-shadow: none;
}
.staff-card,
.lm-bubble,
.lm-card,
.tier-row input:focus {
  box-shadow: none;
}
.tier-row select:focus,
.btn-ghost-danger,
.chip.on,
.chart-box {
  box-shadow: none;
}

/* ── 浮層保留層次，但換成統一的一組（3 個選擇器）── */
.modal,
.modal .m-input:focus,
#toast {
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10);
}
