/* Tokens used by the 分成 (split-rules), 收款到账 (payment-arrivals) and 收回优惠券 styles, mapped onto the Yumi pastel palette. */
:root{--primary:#ef67ae;--primary-hover:#de4f9b;--primary-soft:#fff0f7;--surface:#ffffff;--border:#d5e2f5;--border-strong:#bccfeb;
  --ink:#1c2d4a;--ink-2:#4f6285;--ink-3:#7285a3;--shadow-1:0 2px 6px rgba(66,102,156,.08);--shadow-2:0 14px 34px rgba(66,102,156,.16)}

/* 收回优惠券 dialog */
.coupon-revoke-form{display:grid;gap:12px;margin-top:14px;text-align:left}
.coupon-revoke-form .coupon-revoke-option{display:flex!important;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;color:var(--ink);font-weight:500;cursor:pointer}
.coupon-revoke-form .coupon-revoke-option:has(input[type=radio]:checked){border-color:var(--primary);background:var(--primary-soft)}
.coupon-revoke-form .coupon-revoke-option input[type=radio]{flex:none;width:16px;height:16px;min-height:0!important;margin:2px 0 0;accent-color:var(--primary)}
.coupon-revoke-form .coupon-revoke-option>span{display:grid;gap:6px}
.coupon-revoke-form .coupon-revoke-option small{color:var(--ink-3);font-size:12px;font-weight:400;line-height:1.5}
.coupon-revoke-form .coupon-revoke-option input[type=number]{width:120px}
.coupon-revoke-form .error{min-height:0;margin:0;color:#c0392b;font-size:13px}

/* 配置中心: sub-menu on the left, the chosen section on the right (stacked on narrow screens) */
.config-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.config-tabs{display:grid;gap:8px;position:sticky;top:12px}
body #app .config-tabs button{display:grid!important;gap:2px;justify-items:start;text-align:left;min-height:0!important;padding:11px 14px!important;border:1px solid var(--border)!important;border-radius:12px!important;background:var(--surface)!important;color:var(--ink)!important;box-shadow:none!important;font-weight:600}
body #app .config-tabs button small{color:var(--ink-3);font-size:12px;font-weight:400}
body #app .config-tabs button.active{border-color:var(--primary)!important;background:var(--primary-soft)!important;color:var(--primary-hover)!important}
.config-body>.panel,.config-body>section,.config-body>form{margin-top:0}
.config-body .vip-ladder{margin-top:0!important}
@media (max-width:820px){.config-layout{grid-template-columns:1fr}.config-tabs{position:static;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);overflow-x:auto;padding-bottom:4px}}
.config-module-list{display:grid;gap:10px;margin:6px 0 16px}
.config-module{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}
.config-module-text{display:grid;gap:4px}
.config-module-text strong{color:var(--ink);font-size:15px}
.config-module-text small{color:var(--ink-2);font-size:13px;line-height:1.6}
.config-switch{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none}
.config-switch input{position:absolute;opacity:0;width:1px;height:1px}
.config-switch i{position:relative;width:44px;height:24px;border-radius:999px;background:#d7dbe6;transition:background .2s}
.config-switch i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.config-switch input:checked+i{background:var(--primary)}
.config-switch input:checked+i::after{transform:translateX(20px)}
.config-switch input:focus-visible+i{outline:2px solid var(--primary);outline-offset:2px}
.config-switch b{font-size:13px;font-weight:600;min-width:3em}
.config-switch b[data-on]{color:var(--primary-hover)}.config-switch b[data-off]{color:var(--ink-3)}
.config-switch input:checked~b[data-off],.config-switch input:not(:checked)~b[data-on]{display:none}
.config-number{display:inline-flex;align-items:center;gap:8px;flex:none;color:var(--ink-2);font-weight:600}
body #app .config-number input{width:84px!important;min-height:36px!important;text-align:center}
.config-modules .config-save{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.config-modules .config-save .error{margin:0;color:#c0392b;font-size:13px}
.config-off-note{padding:10px 12px;border-radius:10px;background:#fff6e8;color:#9a5b12}
.config-link button{margin-top:6px}

/* 业务、TAG 与价格: one collapsible panel per business; ⋮⋮ handles sort businesses, TAGs, 项目 and 额外项 */
.cw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}
.cw-toolbar>div{display:flex;gap:8px}
.cw-list{display:grid;gap:12px}
body #app #content .cw-business{padding:0;overflow:hidden}
.cw-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex-wrap:wrap}
.cw-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
body #app #content .cw-toggle{display:flex!important;align-items:baseline;gap:10px;flex:1;min-width:0;min-height:0!important;padding:6px 4px!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--ink)!important;text-align:left;cursor:pointer}
body #app #content .cw-toggle strong{font-size:17px}
body #app #content .cw-toggle small{color:var(--ink-3);font-size:13px;font-weight:400}
body #app #content .cw-toggle i{margin-left:auto;font-style:normal;font-size:13px;color:var(--primary-hover);font-weight:600}
body #app #content .cw-toggle i::after{content:"▾";display:inline-block;margin-left:4px;transition:transform .2s}
body #app #content .cw-business.open .cw-toggle i::after{transform:rotate(180deg)}
.cw-head .business-flags{display:flex;gap:6px;flex-wrap:wrap}
.cw-body{display:grid;gap:4px;padding:4px 16px 16px;border-top:1px dashed var(--border)}
.cw-section{padding:12px 0;border-bottom:1px solid #eef1f7}
.cw-section:last-child{border-bottom:0}
.cw-section h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px;color:var(--ink)}
.cw-section h4 small{font-weight:400}
.cw-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.cw-section-head h4{margin:0}
.cw-handle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:28px;flex:none;border-radius:6px;color:var(--ink-3);font-size:14px;letter-spacing:-2px;cursor:grab;user-select:none}
.cw-handle:hover{background:var(--primary-soft);color:var(--primary-hover)}
.cw-handle:active{cursor:grabbing}
.cw-dragging{opacity:.55;outline:2px dashed var(--primary);outline-offset:2px}
.cw-rows{display:grid;gap:6px;margin:0 0 10px;padding:0;list-style:none}
.cw-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.cw-tag-form{display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin:0}
body #app #content .cw-tag-form input[name="name"]{flex:1;min-width:0;min-height:34px!important;padding:6px 10px!important}
.cw-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.cw-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 2px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13px;font-weight:600;color:var(--ink)}
.cw-chip.blue{background:#eef6ff;border-color:#cfe2f8}
.cw-chip.pink{background:#fff3f9;border-color:#f6d3e5}
.cw-chip .cw-handle{height:22px;width:18px}
.cw-chip-name small{color:var(--ink-3);font-weight:500}
body #app #content .cw-chip-x{display:inline-flex!important;align-items:center;justify-content:center;width:20px;height:20px;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:var(--ink-3)!important;font-size:15px;line-height:1}
body #app #content .cw-chip-x:hover{background:#fde8ee!important;color:#c0392b!important}
.cw-empty{color:var(--ink-3);font-size:13px;list-style:none}
.cw-add{display:flex!important;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0}
.cw-add label{flex:1;min-width:180px}
.cw-add-extra label{min-width:140px}
.cw-settings{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cw-settings h4{width:100%}
.cw-settings .cw-add{flex:1}
.cw-orphans{margin-top:16px}
@media (max-width:640px){.cw-head{padding:10px 12px}.cw-body{padding:4px 12px 12px}.cw-toggle small{display:none}}
body #app #content .cw-toggle strong,body #app #content .cw-toggle i{white-space:nowrap}
body #app #content .cw-toggle small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 功能模块: a switched-off page's menu button carries [hidden]; the menu's own display rules must not bring it back. */
html body #app #nav [data-page][hidden],html body #login [data-role][hidden],html body #login #onboardingApplyOpen[hidden]{display:none!important}
