/* 新店开通 —— 取自 origin/main 的 auth / onboarding / home 组件 Tailwind class。所有类名 ob- 前缀。
 * token：brand-100 #E7F7EF、brand-500 #3DCAB1、brand-700 #0F766E、brand-800 #115E59、ink-strong #0A1629、ink #1C3E60、
 *        ink-muted #64748B、ink-subtle #94A3B8、line-strong #D8E0F0、line #E5E7EB、divider #EDEFF0、surface-subtle #F9FAFB */
.ob-root { position: absolute; inset: 0; color: #1C3E60; font-size: 14px; }
.ob-gap { flex: 1; }
.ob-logo { height: 24px; width: auto; display: block; }
.ob-logo.white { filter: brightness(0) invert(1); }
.ob-spin { animation: ob-spin 1s linear infinite; }
@keyframes ob-spin { to { transform: rotate(360deg); } }

/* ---------- 官网首页（r9-landing-home / landing-nav） ---------- */
.ob-land { position: absolute; inset: 0; background: linear-gradient(180deg, #F6FBF8 0%, #FFFFFF 70%); }
.ob-lnav { height: 76px; display: flex; align-items: center; gap: 36px; padding: 0 72px; }
.ob-llinks { display: flex; gap: 30px; font-size: 15px; font-weight: 500; color: #1C3E60; }
.ob-llogin { font-size: 15px; font-weight: 600; color: #1C3E60; }
.ob-navy { display: inline-flex; align-items: center; height: 56px; padding: 0 32px; border-radius: 999px; background: #1C3E60; color: #fff; font-size: 16px; font-weight: 700; }
.ob-navy.sm { height: 42px; padding: 0 20px; font-size: 14px; }
.ob-ghostpill { display: inline-flex; align-items: center; height: 56px; padding: 0 30px; border-radius: 999px; border: 1.5px solid #1C3E60; color: #1C3E60; font-size: 16px; font-weight: 700; background: #fff; }
.ob-hero { display: flex; gap: 56px; align-items: center; padding: 70px 72px 0; }
.ob-hl { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.ob-kick { font-size: 15px; font-weight: 600; color: #0F766E; }
.ob-hl h1 { margin: 0; font-size: 54px; line-height: 64px; font-weight: 800; color: #0A1629; letter-spacing: -.01em; }
.ob-hl h1 em { font-style: normal; color: #0F766E; }
.ob-hl p { margin: 0; font-size: 18px; line-height: 30px; color: #64748B; max-width: 620px; }
.ob-hbtns { display: flex; gap: 14px; margin-top: 6px; }
.ob-hchecks { display: flex; gap: 22px; flex-wrap: wrap; font-size: 14px; color: #1C3E60; }
.ob-hchecks span { display: inline-flex; align-items: center; gap: 6px; } .ob-hchecks .lu { color: #3DCAB1; }
.ob-brain { width: 500px; flex: none; border-radius: 24px; background: #fff; border: 1px solid #E5E7EB; box-shadow: 0 20px 50px rgba(15, 118, 110, .10); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.ob-brh { display: flex; align-items: center; justify-content: space-between; } .ob-brh b { font-size: 17px; color: #0A1629; } .ob-brh small { font-size: 12px; color: #94A3B8; }
.ob-br { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 14px; background: #F9FAFB; }
.ob-br b { display: block; font-size: 14px; color: #0A1629; } .ob-br small { font-size: 12px; color: #64748B; }
.ob-brk { flex: none; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.ob-brk.k0 { background: #E7F7EF; color: #0F766E; } .ob-brk.k1 { background: #EEEAFD; color: #5B4BB7; } .ob-brk.k2 { background: #FEF3C7; color: #B45309; }

/* ---------- 注册页（auth-page-layout） ---------- */
.ob-auth { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(121.6deg, #E4F7DE 5%, #C6FBE6 97%); }
.ob-circ { position: absolute; width: 640px; height: 640px; border-radius: 50%; }
.ob-circ.a { right: -180px; bottom: -260px; background: rgba(61, 202, 177, .10); } .ob-circ.b { right: 120px; top: -320px; background: rgba(61, 202, 177, .08); }
.ob-acard { position: absolute; left: 60px; right: 60px; top: 40px; bottom: 40px; display: flex; border-radius: 30px; border: 20px solid #fff; background: #fff; box-shadow: 0 25px 50px -12px rgba(173, 232, 220, .5); }
.ob-acol { width: 580px; flex: none; padding: 8px 28px 8px 8px; display: flex; flex-direction: column; }
.ob-alogo { display: flex; justify-content: center; padding-top: 4px; }
.ob-aform { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 0 20px; }
.ob-aform h2 { margin: 0 0 4px; font-size: 22px; line-height: 30px; font-weight: 700; color: #0A1629; }
.ob-google { height: 40px; border-radius: 10px; border: 1px solid #D8E0F0; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 500; color: #1C3E60; }
.ob-div { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #94A3B8; } .ob-div i { flex: 1; height: 1px; background: #EDEFF0; }
.ob-tabs { height: 40px; border-radius: 12px; background: #F1F5F9; padding: 4px; display: flex; gap: 4px; }
.ob-tabs span { flex: 1; height: 32px; border-radius: 9px; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 500; color: #64748B; }
.ob-tabs span.on { background: #fff; color: #0F766E; font-weight: 600; box-shadow: 0 1px 2px rgba(10, 22, 41, .08); }
.ob-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ob-f > b { font-size: 13px; font-weight: 600; color: #1C3E60; } .ob-f > b i { font-style: normal; color: #EF4444; }
.ob-f.lg > b { font-size: 15px; }
.ob-in { height: 40px; border-radius: 10px; border: 1px solid #D8E0F0; background: #fff; display: flex; align-items: center; gap: 8px; padding: 0 12px; font-size: 14px; min-width: 0; }
.ob-in.big { height: 48px; font-size: 17px; padding: 0 16px; }
.ob-in.focus { border: 1.5px solid #3DCAB1; box-shadow: 0 0 0 3px rgba(61, 202, 177, .15); }
.ob-in .v { flex: 1; color: #0A1629; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-in .ph { flex: 1; color: #94A3B8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-eye, .ob-selc { color: #94A3B8; flex: none; }
.ob-cc { flex: none; font-size: 13px; color: #1C3E60; padding-right: 8px; border-right: 1px solid #E5E7EB; }
.ob-cur { color: #64748B; flex: none; }
.ob-hint { font-size: 12px; color: #94A3B8; line-height: 17px; }
.ob-otp { display: flex; gap: 8px; } .ob-otp .ob-in { flex: 1; }
.ob-codebtn { width: 132px; flex: none; height: 40px; border-radius: 10px; border: 1px solid #D8E0F0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: #0F766E; }
.ob-codebtn.off { color: #94A3B8; }
.ob-okalert { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 10px; background: #ECFDF5; border: 1px solid #A7F3D0; font-size: 13px; color: #047857; }
.ob-terms { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #64748B; }
.ob-terms a { color: #0F766E; font-weight: 500; }
.ob-cb { width: 16px; height: 16px; border-radius: 4px; border: 1px solid #D8E0F0; display: inline-flex; align-items: center; justify-content: center; flex: none; color: #fff; }
.ob-cb.on { background: #3DCAB1; border-color: #3DCAB1; }
.ob-abtn { height: 48px; border-radius: 12px; background: #0F766E; color: #fff; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px; font-weight: 600; transition: background .25s, color .25s; }
.ob-abtn.off { background: #E5E7EB; color: #94A3B8; } .ob-abtn.busy { opacity: .85; }
.ob-afoot { margin: 2px 0 0; text-align: center; font-size: 13px; color: #64748B; } .ob-afoot a { color: #0F766E; font-weight: 600; margin-left: 4px; }
.ob-aart { flex: 1; min-width: 0; border-radius: 16px; overflow: hidden; background: linear-gradient(160deg, #E8F5F1 0%, #D6F3EA 50%, #C6FBE6 100%); }
.ob-aimg { width: 100%; height: 100%; background: url('/images/auth/relaxing-illustration.png') center / cover no-repeat; }

/* ---------- 开店向导外壳（onboarding/layout.tsx） ---------- */
.ob-wiz { position: absolute; inset: 0; background: #F9FAFB; display: flex; flex-direction: column; }
.ob-whead { height: 64px; flex: none; background: #fff; border-bottom: 1px solid #EDEFF0; display: flex; align-items: center; padding: 0 32px; }
.ob-lang { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #1C3E60; } .ob-lang .lu { color: #64748B; }
.ob-steps { height: 56px; flex: none; background: #fff; border-bottom: 1px solid #EDEFF0; display: flex; align-items: center; justify-content: center; gap: 14px; }
.ob-step { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #64748B; }
.ob-step b { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.ob-step.done, .ob-step.cur { color: #0F766E; font-weight: 600; }
.ob-step.done b { background: #3DCAB1; color: #fff; }
.ob-step.cur b { background: #3DCAB1; color: #fff; box-shadow: 0 0 0 4px #E7F7EF; }
.ob-step.todo b { box-shadow: inset 0 0 0 2px #D8E0F0; color: #94A3B8; }
.ob-conn { width: 64px; height: 2px; background: #E5E7EB; border-radius: 1px; } .ob-conn.on { background: #3DCAB1; }
.ob-wvp { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.ob-wcol { position: absolute; left: 0; right: 0; top: 0; padding: 40px 0 60px; }
.ob-pbtn { height: 48px; border-radius: 12px; background: #0F766E; color: #fff; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 24px; font-size: 15px; font-weight: 600; align-self: flex-start; white-space: nowrap; }
.ob-pbtn.full { width: 100%; align-self: stretch; } .ob-pbtn.sm { height: 40px; font-size: 14px; border-radius: 10px; }
.ob-pbtn.off { background: #E5E7EB; color: #94A3B8; } .ob-pbtn.busy { opacity: .85; }
.ob-obtn { height: 40px; border-radius: 10px; border: 1px solid #0F766E; color: #0F766E; background: #fff; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; font-size: 14px; font-weight: 600; align-self: flex-start; }
.ob-gbtn { height: 40px; border-radius: 10px; border: 1px solid #D8E0F0; color: #1C3E60; background: #fff; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 16px; font-size: 14px; font-weight: 500; }
.ob-gbtn.off { color: #94A3B8; }
.fit { align-self: flex-start; }
.ob-skip { font-size: 13px; color: #64748B; }

/* 欢迎页 */
.ob-welcome { width: 520px; margin: 70px auto 0; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
.ob-welcome h1 { margin: 0; font-size: 36px; line-height: 44px; font-weight: 800; color: #0A1629; }
.ob-welcome > p { margin: -20px 0 0; font-size: 17px; color: #64748B; }
.ob-wcards { width: 100%; display: flex; flex-direction: column; gap: 12px; text-align: left; }
.ob-wc { display: flex; gap: 16px; align-items: center; padding: 18px 20px; border-radius: 16px; border: 1px solid #E5E7EB; background: #fff; }
.ob-wci { width: 48px; height: 48px; border-radius: 14px; background: #E7F7EF; color: #3DCAB1; display: flex; align-items: center; justify-content: center; flex: none; }
.ob-wc b { display: block; font-size: 15px; font-weight: 600; color: #0A1629; } .ob-wc small { font-size: 13px; color: #64748B; }
.ob-wlinks { margin: -16px 0 0; font-size: 13px; color: #64748B; } .ob-wlinks a { color: #64748B; }

/* 完善资料（手机号注册） */
.ob-prof { width: 440px; margin: 10px auto 0; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.ob-prof h1 { margin: 0; font-size: 30px; font-weight: 800; color: #0A1629; } .ob-prof > p { margin: -8px 0 0; font-size: 14px; line-height: 22px; color: #64748B; }
.ob-prof .ob-f { width: 100%; text-align: left; }
.ob-avatar { width: 80px; height: 80px; border-radius: 50%; border: 2px dashed #ADE8DC; background: #E7F7EF; color: #3DCAB1; display: flex; align-items: center; justify-content: center; }
.ob-avc { font-size: 12px; color: #94A3B8; margin-top: -10px; }
.ob-plater { font-size: 13px; color: #64748B; }

/* 门店信息 */
.ob-store { width: 1280px; max-width: calc(100% - 64px); margin: 0 auto; display: flex; gap: 48px; align-items: flex-start; }
.ob-sform { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.ob-sform h1, .ob-col760 h1 { margin: 0; font-size: 28px; line-height: 36px; font-weight: 800; color: #0A1629; }
.ob-desc { margin: -16px 0 0; font-size: 15px; line-height: 22px; color: #64748B; } .ob-desc.w520 { max-width: 520px; }
.ob-vgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 4px; }
.ob-vc { position: relative; height: 84px; border-radius: 14px; border: 2px solid #E5E7EB; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #3DCAB1; transition: background .2s, border-color .2s; }
.ob-vc b { font-size: 12px; font-weight: 600; color: #1C3E60; }
.ob-vc.on { border-color: #3DCAB1; background: #E7F7EF; }
.ob-vok { position: absolute; top: 6px; right: 6px; width: 16px; height: 16px; border-radius: 50%; background: #3DCAB1; color: #fff; display: flex; align-items: center; justify-content: center; }
.ob-prim { position: absolute; top: -9px; left: 8px; font-style: normal; font-size: 10px; font-weight: 600; color: #fff; background: #0F766E; border-radius: 999px; padding: 1px 7px; }
.ob-tog { display: flex; flex-direction: column; gap: 4px; }
.ob-togb { font-size: 14px; font-weight: 600; color: #0F766E; align-self: flex-start; } .ob-tog small { font-size: 12px; color: #94A3B8; }
.ob-more { background: #F9FAFB; border: 1px solid #EDEFF0; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 16px; animation: ob-slide .3s ease; }
@keyframes ob-slide { from { opacity: 0; transform: translateY(-8px); } }
.ob-g3 { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 12px; }
.ob-g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ob-pv { width: 400px; flex: none; }
.ob-pvt { display: block; text-align: right; font-size: 13px; font-weight: 500; color: #64748B; margin-bottom: 10px; }
.ob-pvc { border-radius: 20px; background: #fff; padding: 28px; box-shadow: 0 6px 12px rgba(173, 232, 220, .4); display: flex; flex-direction: column; gap: 4px; }
.ob-pvi { width: 72px; height: 72px; border-radius: 50%; background: #E7F7EF; color: #3DCAB1; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.ob-pvc h3 { margin: 0 0 20px; text-align: center; font-size: 20px; font-weight: 800; color: #0A1629; }
.ob-pvc hr { border: 0; border-top: 1px solid #EDEFF0; margin: 0 0 12px; }
.ob-ns { color: #94A3B8; } .ob-ns.n { font-weight: 400; }
.ob-pvr { display: flex; align-items: flex-start; gap: 12px; padding: 6px 8px; border-radius: 8px; font-size: 13px; color: #0A1629; transition: background .3s; }
.ob-pvr > .lu { color: #64748B; flex: none; margin-top: 1px; } .ob-pvr > div { flex: 1; min-width: 0; }
.ob-pvr.f { background: rgba(231, 247, 239, .6); }
.ob-pvh { display: flex; flex-direction: column; gap: 4px; font-size: 12px; }
.ob-pvh span { display: flex; justify-content: space-between; } .ob-pvh i { font-style: normal; } .ob-pvh em { font-style: normal; color: #64748B; }
.ob-great { margin: 14px 0 0; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #0F766E; font-weight: 500; }
.ob-great i { width: 8px; height: 8px; border-radius: 50%; background: #3DCAB1; }

/* 添加服务 / 添加技师 */
.ob-col760 { width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.ob-card { border-radius: 16px; border: 1px solid #E5E7EB; background: #fff; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.ob-ch { display: flex; align-items: center; gap: 10px; } .ob-ch b { font-size: 15px; font-weight: 700; color: #0A1629; } .ob-ch small { display: block; font-size: 13px; color: #64748B; margin-top: 2px; }
.ob-cnt { font-style: normal; font-size: 12px; font-weight: 600; color: #0F766E; background: #E7F7EF; border-radius: 999px; padding: 2px 9px; }
.ob-tgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ob-tpl { position: relative; border-radius: 12px; border: 1px solid #E5E7EB; background: #fff; padding: 14px; display: flex; flex-direction: column; gap: 6px; transition: background .2s, border-color .2s; }
.ob-tpl.on { border-color: #3DCAB1; background: rgba(61, 202, 177, .06); }
.ob-bar { width: 48px; height: 4px; border-radius: 2px; } .ob-tpl b { font-size: 14px; font-weight: 600; color: #0A1629; } .ob-tpl small { font-size: 12px; color: #64748B; }
.ob-tb { position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%; background: #E7F7EF; color: #0F766E; display: flex; align-items: center; justify-content: center; }
.ob-tpl.on .ob-tb { background: #3DCAB1; color: #fff; box-shadow: 0 0 0 1px #3DCAB1; }
.ob-li { display: flex; align-items: center; gap: 12px; padding: 8px 4px; border-top: 1px solid #F1F5F9; }
.ob-ch + .ob-li { border-top: 0; }
.ob-li > div { flex: 1; } .ob-li b { display: block; font-size: 14px; font-weight: 600; color: #0A1629; } .ob-li small { font-size: 12px; color: #64748B; }
.ob-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.ob-lx { color: #94A3B8; flex: none; }
.ob-thav { width: 32px; height: 32px; border-radius: 50%; background: rgba(61, 202, 177, .1); color: #3DCAB1; display: flex; align-items: center; justify-content: center; flex: none; }
.ob-ta { min-height: 64px; border-radius: 10px; border: 1px solid #D8E0F0; padding: 10px 12px; font-size: 14px; } .ob-ta .ph { color: #94A3B8; }
.ob-opt { font-style: normal; font-size: 11px; font-weight: 500; color: #94A3B8; background: #F1F5F9; border-radius: 6px; padding: 1px 6px; margin-left: 4px; }
.ob-brow { display: flex; align-items: center; gap: 16px; margin-top: 4px; }

/* ---------- 我的门店 /home ---------- */
.ob-home { position: absolute; inset: 0; background: #F9FAFB; overflow: hidden; }
.ob-hhero { background: linear-gradient(135deg, #0F766E, #115E59); }
.ob-hc { width: 1200px; margin: 0 auto; }
.ob-hhero .ob-hc { padding: 20px 0 32px; display: flex; flex-direction: column; gap: 28px; }
.ob-hnav { display: flex; align-items: center; }
.ob-umenu { height: 40px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .1); display: inline-flex; align-items: center; gap: 8px; padding: 0 12px 0 6px; color: #fff; font-size: 14px; }
.ob-umenu i { width: 28px; height: 28px; border-radius: 50%; background: #E7F7EF; color: #0F766E; font-style: normal; font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.ob-umenu .lu { color: rgba(255, 255, 255, .8); }
.ob-hgreet small { font-size: 13px; color: rgba(255, 255, 255, .8); } .ob-hgreet h1 { margin: 6px 0 0; font-size: 30px; line-height: 38px; font-weight: 700; color: #fff; }
.ob-hkpi { display: grid; grid-template-columns: repeat(4, 1fr); border-radius: 16px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .08); }
.ob-hkpi > div { display: flex; flex-direction: column; gap: 4px; padding: 18px 24px; } .ob-hkpi > div + div { border-left: 1px solid rgba(255, 255, 255, .16); }
.ob-hkpi small { font-size: 13px; color: rgba(255, 255, 255, .8); } .ob-hkpi b { font-size: 30px; line-height: 38px; font-weight: 700; color: #fff; } .ob-hkpi em { font-style: normal; font-size: 12px; color: rgba(255, 255, 255, .8); }
.ob-hbody { padding: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.ob-hrow { display: flex; align-items: center; gap: 12px; }
.ob-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: #EDEFF0; }
.ob-seg span { height: 36px; border-radius: 8px; display: inline-flex; align-items: center; gap: 6px; padding: 0 16px; font-size: 14px; font-weight: 500; color: #64748B; }
.ob-seg span.on { background: #fff; color: #0A1629; font-weight: 600; box-shadow: 0 1px 2px rgba(10, 22, 41, .08); }
.ob-seg em { font-style: normal; font-size: 12px; color: #0F766E; background: #E7F7EF; border-radius: 999px; padding: 0 6px; }
.ob-addst { height: 40px; border-radius: 12px; background: #0F766E; color: #fff; display: inline-flex; align-items: center; gap: 6px; padding: 0 16px; font-size: 14px; font-weight: 500; }
.ob-scard { display: flex; align-items: center; gap: 20px; padding: 18px 20px; border-radius: 16px; border: 1px solid #E5E7EB; background: #fff; box-shadow: 0 2px 8px rgba(10, 22, 41, .04); }
.ob-sini { width: 48px; height: 48px; border-radius: 12px; background: #E7F7EF; color: #0F766E; font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none; }
.ob-sid { width: 300px; flex: none; display: flex; flex-direction: column; gap: 4px; } .ob-sid > div { display: flex; align-items: center; gap: 8px; }
.ob-sid b { font-size: 16px; font-weight: 600; color: #0A1629; } .ob-sid small { font-size: 12px; color: #64748B; }
.ob-op { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: #047857; background: #DEF6F1; border-radius: 999px; padding: 1px 8px; }
.ob-op i { width: 6px; height: 6px; border-radius: 50%; background: #10B981; }
.ob-shours { flex: 1; display: flex; flex-direction: column; gap: 2px; } .ob-shours small { font-size: 12px; color: #94A3B8; } .ob-shours span { font-size: 13px; color: #1C3E60; }
.ob-sset { width: 40px; height: 40px; border-radius: 12px; border: 1px solid #D8E0F0; color: #64748B; display: flex; align-items: center; justify-content: center; flex: none; }
.ob-enter { height: 40px; border-radius: 12px; background: #0F766E; color: #fff; display: inline-flex; align-items: center; padding: 0 16px; font-size: 14px; font-weight: 500; flex: none; }
.ob-nosub { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 12px; background: #FFFBEB; border: 1px solid #FDE68A; }
.ob-zap { width: 40px; height: 40px; border-radius: 50%; background: #FEF3C7; display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none; }
.ob-nosub b { display: block; font-size: 14px; font-weight: 600; color: #78350F; } .ob-nosub small { font-size: 13px; color: #B45309; }
.ob-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .ob-plans div { height: 260px; border-radius: 16px; border: 1px solid #E5E7EB; background: #fff; }

/* ---------- 门店管理：开店清单 ---------- */
.ob-smvp { position: relative; flex: 1; min-height: 0; overflow: hidden; background: #fff; }
.ob-smcol { position: absolute; left: 0; right: 0; top: 0; padding: 8px 32px 40px; display: flex; flex-direction: column; gap: 20px; }
.ob-cl { border-radius: 16px; border: 1px solid #E7F7EF; background: #fff; box-shadow: 0 4px 40px #E7F7EF; padding: 22px 24px 18px; display: flex; flex-direction: column; gap: 12px; }
.ob-clh { display: flex; align-items: center; gap: 8px; } .ob-clh > .lu:first-child { color: #3DCAB1; }
.ob-clh b { font-size: 18px; font-weight: 600; color: #0A1629; } .ob-clh small { font-size: 14px; color: #64748B; } .ob-clx { color: #64748B; }
.ob-prog { height: 8px; border-radius: 4px; background: #E7F7EF; overflow: hidden; } .ob-prog i { display: block; height: 100%; border-radius: 4px; background: #3DCAB1; }
.ob-pct { text-align: right; font-size: 12px; color: #64748B; margin-top: -8px; }
.ob-ready { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-radius: 12px; border: 1px solid #3DCAB1; background: #E7F7EF; }
.ob-ready b { display: block; font-size: 14px; font-weight: 600; color: #0A1629; } .ob-ready small { font-size: 12px; color: #64748B; }
.ob-ready a { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: #0F766E; flex: none; }
.ob-grp { border-bottom: 1px solid #E7F7EF; padding-bottom: 6px; } .ob-grp:last-child { border-bottom: 0; }
.ob-gh { display: flex; align-items: center; gap: 8px; padding: 8px 0; } .ob-gh .lu { color: #64748B; } .ob-gh b { font-size: 15px; font-weight: 600; color: #0A1629; } .ob-gh small { font-size: 12px; color: #64748B; }
.ob-gitems { margin-left: 24px; display: flex; flex-direction: column; gap: 2px; padding-bottom: 4px; }
.ob-it { display: flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 8px; font-size: 14px; color: #0A1629; }
.ob-it span { flex: 1; } .ob-it span.ok { color: #64748B; text-decoration: line-through; }
.ob-it em { font-style: normal; font-size: 12px; font-weight: 600; color: #0F766E; }
.ob-cd { width: 20px; height: 20px; border-radius: 50%; background: #3DCAB1; color: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
.ob-ct { width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 2px #D8E0F0; flex: none; }
.ob-dskel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } .ob-dskel div { height: 110px; border-radius: 16px; border: 1px solid #E5E7EB; background: #fff; }
.ob-td { font-size: 13px; opacity: .85; }
