/* ⑤ 门店设置 —— 取自 origin/main system-settings/* 与 about-store/* 的 Tailwind class。所有类名 se- 前缀。 */
.se-main { flex: 1; min-height: 0; display: flex; flex-direction: column; background: #F9FAFB; }
.se-top { flex: none; display: flex; align-items: center; gap: 12px; height: 64px; padding: 0 32px; background: #fff; border-bottom: 1px solid var(--divider); }
.se-top h1 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 600; color: #0A1629; }
.se-trig { color: #94A3B8; }
.se-shell { flex: 1; min-height: 0; display: flex; gap: 24px; padding: 0 32px; }
.se-rail { width: 216px; flex: none; padding: 28px 0 40px; display: flex; flex-direction: column; gap: 14px; }
.se-rs { display: flex; flex-direction: column; gap: 2px; }
.se-rs small { padding: 0 12px 6px; font-size: 12px; font-weight: 500; color: #94A3B8; }
.se-ri { height: 36px; display: flex; align-items: center; border-radius: 10px; padding: 0 12px; font-size: 13px; color: #1C3E60; }
.se-ri.on { background: #E7F7EF; color: #0F766E; font-weight: 600; }
.se-vp { position: relative; flex: 1; max-width: 896px; min-width: 0; overflow: hidden; }
.se-col { position: absolute; left: 0; right: 0; top: 0; padding: 28px 0 40px; display: flex; flex-direction: column; gap: 16px; }
.se-ph { display: flex; align-items: flex-end; gap: 16px; margin-bottom: 0; }
.se-ph > div:first-child { flex: 1; min-width: 0; }
.se-ph h2 { margin: 0; font-size: 20px; line-height: 28px; font-weight: 600; color: #0A1629; }
.se-ph p { margin: 2px 0 0; font-size: 13px; line-height: 20px; color: #64748B; }
.se-pa { display: flex; align-items: center; gap: 10px; flex: none; }
.se-muted { color: #64748B; font-style: normal; } .se-muted.sm { font-size: 12px; color: #94A3B8; }
.se-card { border-radius: 16px; border: 1px solid #E5E7EB; background: #fff; padding: 20px; box-shadow: 0 2px 8px rgba(10, 22, 41, .04); display: flex; flex-direction: column; gap: 14px; }
.se-card h3 { margin: 0; font-size: 15px; font-weight: 600; color: #0A1629; }
.se-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.se-row.se-between { justify-content: space-between; flex-wrap: nowrap; } .se-row.end { justify-content: flex-end; } .se-row.top { align-items: flex-start; flex-wrap: nowrap; }
.se-gap { flex: 1; }
.se-g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.se-g4 { display: grid; grid-template-columns: 2fr 1fr .8fr .8fr; gap: 14px; }
.se-f { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #1C3E60; min-width: 0; }
.se-f > span:first-child { font-weight: 500; } .se-f > span:first-child small { font-weight: 400; color: #94A3B8; margin-left: 4px; }
.se-f > span:first-child i { font-style: normal; color: #DC2626; margin-left: 2px; }
.se-f.grow { flex: 1; } .se-f.w140 { width: 140px; flex: none; }
.se-in { position: relative; height: 40px; display: flex; align-items: center; gap: 6px; border-radius: 10px; border: 1px solid #D8E0F0; background: #fff; padding: 0 12px; font-size: 14px; color: #0A1629; }
.se-in.sel .lu { margin-left: auto; color: #94A3B8; }
.se-in.ta { height: 56px; align-items: flex-start; padding-top: 9px; }
.se-in.focus { border-color: #3DCAB1; box-shadow: 0 0 0 3px rgba(61, 202, 177, .3); }
.se-plh { font-style: normal; color: #94A3B8; margin: 0; }
.se-caret { display: inline-block; width: 1.5px; height: 16px; background: #0A1629; margin-left: -4px; animation: se-caret 1s steps(1) infinite; }
@keyframes se-caret { 50% { opacity: 0; } }
.se-btn { display: inline-flex; height: 40px; align-items: center; justify-content: center; gap: 6px; border-radius: 12px; padding: 0 16px; font-size: 14px; font-weight: 500; white-space: nowrap; flex: none; }
.se-btn.pri { background: #0F766E; color: #fff; } .se-btn.pri.off { opacity: .5; }
.se-btn.out { border: 1px solid #D8E0F0; background: #fff; color: #1C3E60; }
.se-btn.vio { border: 1px solid #C4B5FD; background: #fff; color: #7C3AED; }
.se-btn.ghost-red { color: #DC2626; }
.se-btn.sm { height: 32px; border-radius: 8px; padding: 0 12px; font-size: 13px; }
.se-btn.sq { width: 40px; padding: 0; }
.se-chip { display: inline-flex; height: 36px; align-items: center; gap: 6px; border-radius: 10px; border: 1px solid #D8E0F0; background: #fff; padding: 0 12px; font-size: 13px; color: #1C3E60; }
.se-chip.on { border: 1.5px solid #3DCAB1; background: #F1F8F4; color: #0F766E; font-weight: 600; }
.se-chip em { font-style: normal; border-radius: 999px; background: #0F766E; color: #fff; font-size: 10px; padding: 0 6px; line-height: 16px; }
.se-chip.rnd { height: 30px; border-radius: 999px; }
.se-logo { display: flex; align-items: center; gap: 14px; }
.se-logot { width: 64px; height: 64px; border-radius: 14px; background: #0F766E; color: #fff; font-size: 24px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.se-logot.lg { width: 56px; height: 56px; font-size: 22px; }
.se-ct { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.se-segc { display: inline-flex; gap: 3px; border-radius: 10px; background: #F3F4F6; padding: 3px; align-self: flex-start; }
.se-segi { height: 30px; display: inline-flex; align-items: center; gap: 4px; border-radius: 8px; padding: 0 12px; font-size: 13px; font-weight: 500; color: #64748B; white-space: nowrap; }
.se-segi.on { background: #fff; color: #0A1629; font-weight: 600; box-shadow: 0 1px 2px rgba(10, 22, 41, .08); }
.se-segi.on.ok { color: #047857; }
.se-segi em { font-style: normal; color: #94A3B8; font-variant-numeric: tabular-nums; }
.se-sum { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.se-dc { border-radius: 10px; padding: 10px; border: 1px dashed #E5E7EB; background: #F9FAFB; display: flex; flex-direction: column; gap: 4px; }
.se-dc.on { border: 1px solid #ADE8DC; background: #F1F8F4; }
.se-dc small { font-size: 12px; font-weight: 600; color: #64748B; } .se-dc b { font-size: 13px; font-weight: 600; color: #0A1629; font-variant-numeric: tabular-nums; }
.se-dc b.rest { color: #94A3B8; font-weight: 500; }
.se-dc.fresh { animation: se-fresh 1.4s ease 2; }
@keyframes se-fresh { 40% { box-shadow: 0 0 0 3px #3DCAB1, 0 0 0 7px rgba(61, 202, 177, .25); } }
.se-wt { height: 50px; display: flex; align-items: center; justify-content: space-between; border-radius: 14px; border: 1px solid #D8E0F0; background: #fff; padding: 0 16px; font-size: 14px; color: #0A1629; }
.se-wt .lu { color: #9CA3AF; }
.se-wt.open { height: auto; display: block; padding: 0; overflow: hidden; }
.se-wth { height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: #F9FAFB; border-bottom: 1px solid #F3F4F6; }
.se-wth .lu { transform: rotate(180deg); }
.se-wtb { padding: 0 16px; }
.se-wr { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #F3F4F6; }
.se-wr:last-child { border-bottom: 0; }
.se-wr b { width: 40px; font-size: 14px; font-weight: 600; color: #111827; } .se-wr b.off { color: #9CA3AF; }
.se-segs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex: 1; }
.se-seg { display: inline-flex; align-items: center; gap: 6px; }
.se-seg em { font-style: normal; font-size: 13px; color: #64748B; }
.se-sel { height: 32px; display: inline-flex; align-items: center; border-radius: 8px; border: 1px solid #E5E7EB; background: #F9FAFB; padding: 0 10px; font-size: 13px; color: #0A1629; font-variant-numeric: tabular-nums; transition: box-shadow .2s; }
.se-sel.hot { border-color: #3DCAB1; box-shadow: 0 0 0 3px rgba(61, 202, 177, .3); }
.se-addseg { font-size: 12px; font-weight: 500; color: #3DCAB1; }
.se-rest { font-size: 13px; color: #9CA3AF; }
.se-sw { width: 40px; height: 22px; border-radius: 999px; background: #E5E7EB; position: relative; flex: none; transition: background .2s; }
.se-sw i { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: left .2s; }
.se-sw.on { background: #3DCAB1; } .se-sw.on i { left: 20px; }
.se-hint { margin: -4px 0 0; font-size: 12px; line-height: 1.6; color: #94A3B8; }
.se-ok { font-size: 12px; color: #047857; }
.se-prev { border-radius: 12px; border: 1px solid #ADE8DC; background: #F1F8F4; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #1C3E60; }
.se-prev b { color: #0F766E; } .se-prev small { font-size: 12px; color: #64748B; line-height: 1.5; }

/* 服务项目 */
.se-tb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.se-search { position: relative; display: inline-flex; width: 220px; height: 40px; align-items: center; gap: 8px; border-radius: 12px; border: 1px solid #D8E0F0; background: #fff; padding: 0 10px; font-size: 13px; color: #94A3B8; flex: none; margin-left: 8px; }
.se-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0; }
.se-two > div { padding: 16px 20px; display: flex; flex-direction: column; gap: 6px; }
.se-two > div + div { border-left: 1px solid #EDEFF0; }
.se-two b { font-size: 14px; color: #0A1629; } .se-two small { font-size: 12px; color: #64748B; line-height: 1.5; }
.se-tbl { padding: 0; gap: 0; overflow: hidden; }
.se-th, .se-tr { display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr .9fr; gap: 12px; align-items: center; padding: 0 20px; }
.se-th { height: 40px; background: #F9FAFB; font-size: 12px; font-weight: 500; color: #64748B; border-bottom: 1px solid #EDEFF0; }
.se-th.room, .se-tr.room { grid-template-columns: 1.8fr .8fr 2fr .9fr 32px; }
.se-tr { min-height: 52px; font-size: 13px; color: #1C3E60; border-bottom: 1px solid #EDEFF0; font-variant-numeric: tabular-nums; }
.se-tr.fresh { animation: se-rowin .5s ease, se-fresh 1.4s ease .3s 2; background: #F1F8F4; }
@keyframes se-rowin { from { opacity: 0; transform: translateY(-6px); } }
.se-sn { display: flex; align-items: center; gap: 10px; font-weight: 600; color: #0A1629; }
.se-sn i { width: 10px; height: 10px; border-radius: 50%; flex: none; } .se-sn .lu { color: #64748B; }
.se-grp + .se-grp { border-top: 1px solid #E5E7EB; }
.se-gh { display: flex; align-items: baseline; gap: 8px; padding: 12px 20px 6px; } .se-gh b { font-size: 13px; color: #0A1629; } .se-gh small { font-size: 12px; color: #94A3B8; }
.se-pill { font-style: normal; border-radius: 999px; padding: 2px 10px; font-size: 12px; font-weight: 600; }
.se-pill.ok { background: #DEF6F1; color: #047857; } .se-pill.info { background: #E0F2FE; color: #0369A1; } .se-pill.warn { background: #FEF3C7; color: #B45309; }
.se-cat { font-style: normal; border-radius: 999px; background: #F1F8F4; color: #0F766E; padding: 2px 10px; font-size: 12px; font-weight: 500; }

/* 支付设置 */
.se-tabs { display: flex; gap: 24px; border-bottom: 1px solid #EDEFF0; font-size: 14px; color: #64748B; }
.se-tabs span { padding-bottom: 10px; } .se-tabs span.on { color: #0A1629; font-weight: 600; border-bottom: 2px solid #3DCAB1; }
.se-skel { height: 14px; border-radius: 6px; background: #F1F5F9; } .se-skel.short { width: 55%; }
.se-warn { border-radius: 12px; border: 1px solid #FDE68A; background: #FFFBEB; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: #92400E; }
.se-ticon { width: 40px; height: 40px; border-radius: 50%; background: #E7F7EF; color: #3DCAB1; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.se-tog { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 8px; background: #F9FAFB; padding: 16px; }
.se-tog div { display: flex; flex-direction: column; gap: 2px; } .se-tog b { font-size: 14px; color: #0A1629; } .se-tog small { font-size: 12px; color: #64748B; }
.se-pct { width: 80px; height: 40px; display: inline-flex; align-items: center; justify-content: space-between; border-radius: 10px; border: 1px solid #D8E0F0; padding: 0 12px; font-size: 14px; color: #64748B; }
.se-pct b { color: #0A1629; font-weight: 600; } .se-pct.focus { border-color: #3DCAB1; box-shadow: 0 0 0 3px rgba(61, 202, 177, .3); }
.se-note { border-radius: 10px; background: #ECFDF5; border: 1px solid #A7F3D0; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: #065F46; line-height: 1.5; } .se-note b { font-size: 13px; }
.se-td { font-size: 12px; font-weight: 400; color: #15803D; }

/* 关于本店 */
.se-about { flex: 1; min-height: 0; padding: 28px 32px 40px; background: #fff; display: flex; flex-direction: column; gap: 20px; overflow: hidden; }
.se-ah h1 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 600; color: #0A1629; } .se-ah p { margin: 2px 0 0; font-size: 13px; color: #64748B; }
.se-ag { display: grid; grid-template-columns: 340px 1fr; gap: 20px; align-items: start; }
.se-store { gap: 12px; } .se-sname { display: block; font-size: 17px; font-weight: 600; color: #0A1629; margin-bottom: 4px; }
.se-kv { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid #EDEFF0; padding-top: 10px; font-size: 13px; color: #1C3E60; } .se-kv small { font-size: 12px; color: #94A3B8; }
.se-acol { display: flex; flex-direction: column; gap: 12px; }
.se-sec { font-size: 12px; font-weight: 600; color: #94A3B8; letter-spacing: .02em; }
.se-link { position: relative; gap: 12px; }
.se-link b { font-size: 15px; color: #0A1629; display: block; } .se-link small { font-size: 13px; }
.se-link a { font-size: 13px; font-weight: 500; color: #0F766E; margin-top: 6px; }
.se-lic { width: 40px; height: 40px; border-radius: 12px; background: #F1F8F4; color: #0F766E; display: inline-flex; align-items: center; justify-content: center; flex: none; align-self: flex-start; }
.se-qr { position: absolute; right: 20px; top: 100%; margin-top: 8px; z-index: 30; border-radius: 14px; border: 1px solid #E5E7EB; background: #fff; padding: 16px; box-shadow: 0 12px 32px rgba(10, 22, 41, .16); display: flex; flex-direction: column; align-items: center; gap: 8px; animation: se-pop .2s ease; }
.se-qr b { font-size: 13px; color: #0A1629; }
@keyframes se-pop { from { transform: scale(.96); opacity: 0; } }

/* 弹窗 */
.se-dlg { position: absolute; left: 50%; top: 50%; translate: -50% -50%; z-index: 50; background: #fff; border-radius: 16px; box-shadow: 0 12px 32px rgba(10, 22, 41, .12); display: flex; flex-direction: column; animation: se-pop .22s ease; }
.se-dlg.w720 { width: 720px; } .se-dlg.w520 { width: 520px; }
.se-dh { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid #EDEFF0; } .se-dh b { font-size: 18px; font-weight: 600; color: #0A1629; }
.se-x { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; color: #64748B; }
.se-db { padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; }
.se-df { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 24px; border-top: 1px solid #EDEFF0; }
.se-lab { width: 72px; font-size: 13px; font-weight: 500; color: #1C3E60; }
.se-dot { width: 26px; height: 26px; border-radius: 50%; flex: none; }
.se-dot.on { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--c); }
.se-dot.add { background: #fff; border: 1.5px dashed #CBD5E1; color: #94A3B8; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
.se-vh, .se-vr { display: grid; grid-template-columns: 110px 1fr 1fr 64px 64px 32px; gap: 10px; align-items: center; }
.se-vh { font-size: 12px; color: #64748B; margin-top: 4px; }
.se-vr { animation: se-rowin .3s ease; }
.se-addv { height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px dashed #ADE8DC; font-size: 13px; font-weight: 500; color: #0F766E; }
.se-step { height: 40px; display: flex; align-items: center; justify-content: space-between; border-radius: 10px; border: 1px solid #D8E0F0; padding: 0 6px; }
.se-step span { width: 28px; height: 28px; border-radius: 8px; background: #F9FAFB; display: inline-flex; align-items: center; justify-content: center; color: #1C3E60; font-size: 16px; }
.se-step b { font-size: 14px; color: #0A1629; font-variant-numeric: tabular-nums; }
