/* 美肌工坊品牌主题（浅色、奶油杏、暖铜）。从 v4 开始被所有公开页面引用。
 * 设计令牌：用语义化名字，浅色为默认值；产品上线后可在同一文件切换到深色。 */
:root{
  /* 表面 */
  --bg: #FFF9F5;          /* 整体背景：奶油白 */
  --bg-soft: #F8E7DB;     /* 区块底色：浅杏 */
  --surface: #FFFFFF;     /* 卡片/弹窗 */
  --surface-sunken: #FBF1E6; /* 二级内嵌区域 */
  /* 文字 */
  --ink: #49392F;         /* 主文 */
  --ink-soft: #776458;    /* 辅助 */
  --ink-mute: #B09985;    /* 弱化 */
  /* 边线 */
  --border: #DDAE8D;      /* 主要分隔 */
  --border-soft: #F1DFC8; /* 二级 */
  --border-strong: #C68A5D;
  /* 行为色 */
  --primary: #C9874E;     /* 主按钮：暖铜 */
  --primary-hover: #B0713D;
  --primary-soft: #F1DDC9;
  --primary-ink: #FFFFFF;
  --danger: #B46B53;
  --warning: #B58744;
  --success: #6F9055;
  --focus: #C9874E;
  /* 品牌色：保留 LOGO 原色，不在界面内重画 */
  --logo-ink: #6B3A1F;
  /* 圆角与阴影 */
  --radius: 14px;
  --radius-lg: 18px;
  --shadow-card: 0 18px 60px #7a4a1a14;
  --shadow-modal: 0 30px 90px #4a2b0e3a;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:0;background:none;color:inherit}
button:disabled{cursor:not-allowed;opacity:.55}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--surface-sunken);display:grid;place-items:center;flex-shrink:0;overflow:hidden;border:1px solid var(--border-soft)}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.brand small{display:block;font-size:8px;letter-spacing:.13em;color:var(--ink-mute);margin-top:4px;font-weight:500}
/* 主按钮统一用品牌色，替代原本的绿底 */
.primary,.primary-button{background:var(--primary);color:var(--primary-ink);border:1px solid var(--primary);border-radius:var(--radius);padding:13px 20px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;box-shadow:0 8px 18px #c9874e2a;transition:background .18s,transform .18s}
.primary:hover,.primary-button:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}
.small-button{background:var(--surface);color:var(--primary);border:1px solid var(--border);border-radius:10px;padding:9px 14px;font-size:12px;font-weight:600;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.small-button:hover{background:var(--primary-soft);border-color:var(--primary)}
.quiet{background:none;color:var(--ink-soft);font-size:12px;padding:10px;border-radius:8px}
.quiet:hover{color:var(--ink);background:var(--surface-sunken)}
.danger{color:var(--danger)}
button[data-action="close"]{background:none;color:var(--ink-soft)}
button[data-action="close"]:hover{background:var(--surface-sunken)}
/* 弹窗 */
.modal{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:28px}
.modal::backdrop{background:#2c1d1130;backdrop-filter:blur(4px)}
.modal h2{color:var(--ink)}
.modal label{color:var(--ink-soft);font-size:12px;margin:18px 0 7px;font-weight:600}
.modal input:not([type=checkbox]),.modal select,.modal textarea,.join-card input,form .field input{border:1px solid var(--border-soft);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;min-height:44px;font-size:14px}
.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c9874e22}
.modal .hint{color:var(--ink-mute);font-size:11px;line-height:1.8}
.form-error{background:#fbe7e0;color:var(--danger);border-radius:8px;padding:10px 12px;font-size:12px}
/* 通知与徽标 */
.notice,.notice.warm{background:var(--surface-sunken);border:1px solid var(--border-soft);color:var(--ink);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.notice.warm{background:#fbeed4;border-color:#e9c98b;color:#7a541d}
.notice strong{color:var(--ink)}
.notice span{color:var(--ink-soft)}
.toast{background:var(--ink);color:#fff;padding:13px 23px;border-radius:10px;box-shadow:var(--shadow-card)}
/* 盒子与卡 */
.box{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card)}
.box h2{color:var(--ink)}
.box-subtitle{color:var(--ink-mute)}
.caveat-box summary{cursor:pointer;color:var(--ink-soft);font-size:12px;font-weight:600}
.caveat-box[open] summary{margin-bottom:12px}
.store-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow-card)}
.empty{background:var(--surface-sunken);border:1px dashed var(--border-soft);border-radius:var(--radius-lg);padding:66px 24px}
.empty-icon{background:var(--primary-soft);color:var(--primary);border-radius:18px}
/* 状态色 */
.badge{background:var(--bg-soft);color:var(--ink-soft);border-radius:20px;font-size:10px;padding:5px 9px}
.badge.on{background:#e8f1d8;color:var(--success)}
.badge.off{background:#fbe9c5;color:#8a6420}
.badge.archive{background:#ede2d4;color:#88735e}
/* 地区选择：单个「门店所在地区」标签 + 收起态触发按钮；搜索与三级下拉收进展开面板 */
.region-label{display:block;color:var(--ink-soft);font-size:12px;font-weight:600;margin:18px 0 7px}
.region-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-soft);background:var(--surface);color:var(--ink-mute);border-radius:10px;padding:0 12px;min-height:44px;font-size:14px;text-align:left}
.region-trigger.filled{color:var(--ink)}
.region-trigger:hover{border-color:var(--primary)}
.region-caret{color:var(--ink-mute);font-size:12px;flex-shrink:0}
.region-selected{overflow-wrap:anywhere}
.region-panel{margin-top:10px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-sunken);padding:12px}
.region-panel .subtle{display:block;margin-top:10px;color:var(--ink-mute);font-size:11px}
.region-search{position:relative;margin-bottom:10px}
.region-query{width:100%;min-height:44px;border:1px solid var(--border-soft);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--ink)}
.region-results{max-height:220px;overflow:auto;border:1px solid var(--border-soft);background:var(--surface);border-radius:10px;margin-top:6px}
.region-results button{display:block;width:100%;text-align:left;padding:12px;background:none;border:0;font-size:13px;color:var(--ink)}
.region-results button:hover,.region-results button:focus-visible{background:var(--primary-soft)}
.region-results p{padding:12px;font-size:12px;color:var(--ink-soft)}
.region-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.region-selects select{width:100%;min-width:0;min-height:44px;border:1px solid var(--border-soft);border-radius:10px;padding:10px;background:var(--surface);color:var(--ink)}
@media (max-width:520px){.region-selects{grid-template-columns:1fr}}
/* 减少动效 */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}
}
