:root{--green:#146b50;--mint:#e6f4ed;--ink:#202a23;--muted:#738077;--line:#e6ece8}*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}a{text-decoration:none;color:inherit}.layout{min-height:100vh;display:grid;grid-template-columns:210px 1fr}.sidebar{background:#183c2e;color:#c9ded2;padding:24px 12px}.brand{color:#fff;font-size:21px;font-weight:800;padding:0 10px 22px}.menu a{display:block;padding:11px 10px;border-radius:9px;margin:3px 0}.menu a.active,.menu a:hover{background:#2e5a49;color:#fff}.content{padding:30px;max-width:1200px;width:100%}.card{background:#fff;border:1px solid #ebefec;border-radius:14px;padding:16px;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.num{font-size:25px;font-weight:800;margin-top:9px}.muted,small{color:var(--muted)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}button{border:0;background:var(--mint);color:var(--green);border-radius:9px;padding:10px 13px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:#fff}input,textarea{width:100%;border:1px solid #dce5df;border-radius:8px;padding:10px;margin:5px 0 10px;font:inherit}.badge{font-size:11px;padding:4px 7px;border-radius:10px;background:#eef2ef;color:#627067}.ok{background:var(--mint);color:var(--green)}

/* 服务人员端：以 375–430px 手机屏为首要适配尺寸 */
.provider-layout{display:block;max-width:520px;margin:0 auto;background:#f6f8f6;min-height:100dvh;box-shadow:0 0 28px rgba(20,49,36,.08)}
.provider-layout .provider-sidebar{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);height:67px;padding:7px 6px max(7px,env(safe-area-inset-bottom));background:#fff;color:var(--muted);border-top:1px solid var(--line);box-shadow:0 -5px 18px rgba(23,53,39,.05);visibility:visible!important}
.provider-layout .brand{display:none}.provider-layout .menu{display:grid;grid-template-columns:repeat(4,1fr);height:100%}.provider-layout .menu a{display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:6px 2px;border-radius:8px;font-size:10px;line-height:1.25}.provider-layout .menu a.active{background:#edf7f1;color:var(--green)}
.provider-layout .content{max-width:none;padding:17px 16px 88px}.provider-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.provider-header p,.provider-header h1{margin:0}.provider-header h1{font-size:21px}.provider-layout .grid{grid-template-columns:1fr 1fr;gap:10px}.provider-layout .card{border-radius:16px;margin:10px 0}.provider-layout .grid .card{margin:0;padding:14px}.provider-layout .num{font-size:22px}.provider-layout .row{align-items:flex-start}.provider-layout .row>div:last-child{text-align:right;white-space:nowrap}

/* 管理后台：固定为电脑端信息密度与左侧菜单结构 */
.admin-layout{grid-template-columns:238px minmax(0,1fr);min-width:1100px}.admin-layout .sidebar{padding-top:28px}.admin-layout .content{width:100%;min-width:0;max-width:none;padding:32px 38px}.admin-layout .card{border-radius:10px}.admin-layout .grid{grid-template-columns:repeat(4,minmax(145px,1fr))}
.admin-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 14px}.admin-toolbar input{width:280px;margin:0}.admin-toolbar .right{margin-left:auto}.admin-table{padding:0!important;overflow:hidden}.admin-table-head,.admin-table-row{display:grid;grid-template-columns:1.15fr 1.15fr .95fr .95fr 1.1fr;gap:12px;align-items:center;padding:13px 16px}.admin-table-head{background:#f7faf8;color:var(--muted);font-size:12px}.admin-table-row{border-top:1px solid var(--line)}.admin-table-row .action{display:flex;gap:6px;justify-content:flex-end}.admin-table-row button{padding:7px 9px;font-size:12px}.admin-empty{padding:28px 16px;color:var(--muted);text-align:center}.admin-alert{padding:10px 12px;border-radius:8px;background:#fff5e9;color:#9b6217}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px;max-width:820px}.rule-item label{display:block;font-weight:700;margin-bottom:7px}.rule-input{display:flex;gap:8px;align-items:center}.rule-input input{margin:0}.rule-input button{flex:0 0 auto;white-space:nowrap}.rule-feedback{min-height:20px;margin:13px 0 0;color:var(--green)}.admin-subtitle{margin:-12px 0 20px;color:var(--muted)}
.rules-stack{max-width:900px}.rule-section{padding:21px 23px!important;margin:0 0 16px!important}.rule-section h2{margin:0;font-size:18px}.rule-section>p{margin:6px 0 16px}.rule-list{display:grid;gap:0}.rule-row{display:grid;grid-template-columns:minmax(230px,1fr) minmax(240px,360px);gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.rule-row:first-child{border-top:0;padding-top:0}.rule-row:last-child{padding-bottom:0}.rule-row b{display:block;font-size:15px}.rule-row small{display:block;margin-top:5px}.rule-row .rule-input{width:100%}.rule-row .rule-input input{min-width:0}.rule-row .rule-input button{padding:10px 16px}.rule-feedback{min-height:20px;margin:2px 0 0;color:var(--green)}
.admin-modal[hidden]{display:none}.admin-modal{position:fixed;z-index:30;inset:0;display:grid;place-items:center;background:rgba(17,35,26,.42)}.admin-modal-box{width:420px;background:#fff;border-radius:14px;padding:22px;box-shadow:0 20px 50px rgba(15,35,25,.2)}.admin-modal-box h2{margin:0 0 16px}.admin-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}
.admin-pagination{display:flex;align-items:center;gap:8px;min-height:38px;margin:14px 0 22px;color:#53625a;font-size:14px}.admin-pagination[hidden]{display:none}.admin-pagination-total{margin-right:8px}.admin-pagination-size select{width:116px;height:34px;padding:0 26px 0 10px;border:1px solid #d8e3dc;border-radius:5px;background:#fff;color:#53625a;font:inherit}.admin-page-number,.admin-page-arrow{min-width:32px;height:32px;padding:0;border-radius:5px;background:transparent;color:#1f3027;font-size:14px;font-weight:500}.admin-page-number.active{color:#eb5033;font-weight:800}.admin-page-arrow{font-size:22px;line-height:1}.admin-page-arrow:disabled{color:#b4c0b9;cursor:default}.admin-pagination-ellipsis{padding:0 2px;font-weight:700}.admin-pagination-jump{display:flex;align-items:center;gap:6px;margin-left:6px;white-space:nowrap}.admin-pagination-jump input{width:58px;height:34px;margin:0;padding:5px 8px;border:1px solid #d8e3dc;border-radius:5px;text-align:center}
.orders-table{overflow:hidden!important}.orders-table .admin-table-head,.orders-table .admin-table-row{min-width:0;grid-template-columns:minmax(0,1.25fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.55fr) minmax(0,.6fr) minmax(0,1.8fr) minmax(0,.7fr) minmax(0,.75fr) minmax(0,.75fr) minmax(0,.9fr) minmax(0,1.25fr) minmax(0,1.25fr);gap:8px;padding:13px 12px}.providers-table,.withdrawals-table{overflow:hidden!important}.providers-table .admin-table-head,.providers-table .admin-table-row{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,.65fr) minmax(0,.9fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1.05fr);gap:8px;padding:13px 12px}.withdrawals-table .admin-table-head,.withdrawals-table .admin-table-row{min-width:0;grid-template-columns:minmax(0,1.3fr) minmax(0,.78fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.6fr) minmax(0,.78fr) minmax(0,.7fr) minmax(0,.78fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,1.3fr);gap:8px;padding:13px 12px}.providers-table .admin-table-head>span,.providers-table .admin-table-row>div,.withdrawals-table .admin-table-head>span,.withdrawals-table .admin-table-row>div,.orders-table .admin-table-head>span,.orders-table .admin-table-row>div{min-width:0;overflow-wrap:anywhere}.providers-table .admin-table-row,.withdrawals-table .admin-table-row,.orders-table .admin-table-row{font-size:13px}.providers-table .admin-table-row .action,.withdrawals-table .admin-table-row .action{gap:4px;flex-wrap:wrap}.providers-table .admin-table-row button,.withdrawals-table .admin-table-row button{padding:6px 8px;font-size:12px}.suggestion-cell{display:flex;align-items:center;min-width:0;white-space:nowrap}.suggestion-text{display:block;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.55;color:#526158;word-break:normal}.suggestion-text.expanded{overflow:visible;white-space:normal;text-overflow:clip}.suggestion-toggle{flex:0 0 auto;margin:0 0 0 5px;padding:0;background:transparent;color:var(--green);font-size:12px;font-weight:700;white-space:nowrap}

/* 顾客微信内评价页 */
.customer-page{min-height:100dvh;background:linear-gradient(180deg,#e6f5ed 0,#f8faf8 270px);padding:22px 16px 40px}.customer-wrap{max-width:430px;margin:auto}.customer-hero{text-align:center;padding:20px 6px 15px}.customer-hero h1{font-size:23px;margin:7px 0}.customer-hero p{margin:0}.customer-page label{display:block;margin:12px 0 5px;font-weight:600}.customer-page select{display:block;width:100%;height:44px;padding:0 12px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:var(--ink);font:inherit;appearance:auto}.customer-page select:invalid{color:var(--muted)}.rating-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.rating-option{min-height:45px;border:1px solid #dce7e0;background:#fff}.rating-option.selected{border-color:var(--green);background:var(--green);color:#fff}.tip-panel{margin-top:14px;padding:14px;background:#f5fbf7;border-radius:12px}.tip-panel h3{margin:0 0 4px;font-size:15px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.tip-option{background:#fff;border:1px solid #dce7e0;min-height:42px}.tip-option.selected{background:#e0f3e8;border-color:var(--green)}.customer-page textarea{min-height:82px;resize:vertical}.customer-submit{width:100%;min-height:48px;font-size:16px;margin-top:8px}.payment-card{padding:46px 20px!important;text-align:center}.payment-spinner{width:44px;height:44px;border:4px solid #dcefe4;border-top-color:var(--green);border-radius:50%;margin:0 auto 17px;animation:spin .85s linear infinite}.wechat-copy{margin-top:16px;padding:13px;background:#f6f8f6;border-radius:10px}.wechat-copy p{margin:0 0 4px}.wechat-copy strong{display:block;font-size:18px;color:var(--ink);letter-spacing:.2px;word-break:break-all}.wechat-copy button{margin-top:10px}@keyframes spin{to{transform:rotate(360deg)}}

/* 服务人员首页：收益优先，其次是评价、待结算和快捷操作 */
.provider-balance{position:relative;padding:19px!important;color:#fff!important;background:linear-gradient(135deg,#12543f,#1a7a5a)!important;border:0!important}.provider-balance small,.provider-balance p{color:rgba(255,255,255,.78)}.balance-amount{font-size:35px;font-weight:800;letter-spacing:-1px;margin:6px 0}.balance-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.balance-footer .badge{background:rgba(255,255,255,.16);color:#fff}.balance-footer a{padding:8px 10px;border-radius:8px;background:#fff;color:var(--green);font-weight:700}.dashboard-title{font-size:16px;margin:21px 0 10px}.dashboard-stats{grid-template-columns:repeat(3,1fr)!important}.dashboard-stats .card{min-height:98px;padding:13px 11px!important}.dashboard-stats .num{font-size:19px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-actions a{display:block;text-align:center;padding:14px 6px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--green);font-weight:700}.quick-actions small{display:block;margin-top:4px;font-size:11px}.income-settlement{display:grid;grid-template-columns:1fr 1fr 84px;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}.income-settlement b{font-size:19px}.income-settlement .withdrawable{padding-left:9px;border-left:1px solid rgba(255,255,255,.18)}.income-settlement a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:49px;padding-left:8px;border-left:1px solid rgba(255,255,255,.22);font-weight:700;color:#fff}.income-settlement a small{font-size:10px;line-height:1.5}.qr-panel{display:flex;align-items:center;justify-content:space-between;gap:12px}.qr-panel h3,.qr-panel p{margin:0}.qr-panel p{margin-top:5px}.qr-panel a{flex:0 0 auto;padding:9px 11px;border-radius:9px;background:var(--mint);color:var(--green);font-weight:700;text-align:center}.qr-panel.disabled{border-color:#f0d7aa;background:#fffaf0}.qr-panel.disabled a{background:#e7862f;color:#fff}.dashboard-qr{position:absolute;top:18px;right:18px;width:105px;text-align:center;color:#fff}.dashboard-qr em{display:block;margin-top:7px;font-size:11px;font-style:normal;color:rgba(255,255,255,.86)}.mini-qr{display:block;width:72px;height:72px;margin:auto;padding:7px;border-radius:5px;background:repeating-conic-gradient(#1d2e26 0 25%,#fff 0 50%) 50%/14px 14px;border:5px solid #fff}.dashboard-qr.disabled{top:37px;padding:9px 5px;border:1px solid rgba(255,255,255,.38);border-radius:9px;background:rgba(255,255,255,.12)}.dashboard-qr.disabled em{margin:0;color:#fff;line-height:1.45}

/* 服务人员端：暖橙红收益主题。后台与顾客评价页不受影响。 */
.provider-layout{--green:#e95032;--mint:#fff0ea;--ink:#39241f;--muted:#9a756b;--line:#f1dcd4;background:#fff8f5;box-shadow:0 0 28px rgba(142,53,33,.12)}
.provider-layout .provider-sidebar{background:#fffdfc;border-top-color:#f3ddd5;box-shadow:0 -5px 18px rgba(150,59,35,.08)}
.provider-layout .menu a.active{background:#fff0eb;color:#e95032}
.provider-layout .menu a:hover{background:#ffe1d6;color:#df442f}.provider-layout .menu a.active:hover{background:#e95032;color:#fff}
.provider-layout .card{border-color:#f2e3de}
.provider-layout input,.provider-layout textarea,.provider-layout select{border-color:#edd8d0}
.provider-layout .provider-balance{background:linear-gradient(135deg,#d94131,#f06a32)!important;box-shadow:0 12px 24px rgba(214,67,42,.18)}
.provider-layout .provider-balance .dashboard-qr.disabled em strong{color:#ffe09a}
.provider-layout .badge{background:#fff0ea;color:#d94a2e}.provider-layout .badge.ok{background:#ffede4;color:#d9472d}
.provider-layout .quick-actions a{border-color:#f2d8cf;color:#e95032}
.provider-layout .poster{background:linear-gradient(135deg,#fff0e8,#fffaf2)!important}
.provider-layout .link-box,.provider-layout .invite-link{background:#fff6f2!important}
.provider-layout .disabled-qr{background:#fff6e9!important;border-color:#f4cf9e!important}
.provider-layout .disabled-qr .primary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:5px;padding:9px 15px;border-radius:9px;background:linear-gradient(135deg,#df442f,#f06e35);color:#fff;font-weight:700;box-shadow:0 7px 15px rgba(220,72,43,.18)}
.provider-layout .invite-card{background:linear-gradient(135deg,#fff0e8,#fffaf6)!important}
.provider-layout .privacy-note{background:#fffaf8!important}
.customer-page.provider-onboarding,.customer-page.provider-login{--green:#e95032;--mint:#fff0ea;--ink:#39241f;--muted:#9a756b;--line:#f1dcd4;background:linear-gradient(180deg,#fff0e8 0,#fffaf7 270px)}
.provider-onboarding .card,.provider-login .card{border-color:#f1ddd5;box-shadow:0 10px 28px rgba(185,78,47,.08)}
.provider-onboarding input,.provider-onboarding select,.provider-login input{border-color:#edd8d0;background:#fffdfc}
.provider-onboarding .primary,.provider-login .primary{background:linear-gradient(135deg,#df442f,#f06e35);box-shadow:0 9px 18px rgba(220,72,43,.18)}
.provider-layout .provider-onboarding{padding-bottom:96px}

/* 后台页签导航 */
.admin-tabs{display:flex;align-items:stretch;gap:0;height:54px;margin:-32px -38px 26px;padding:0 16px;overflow-x:auto;background:#fff;border-bottom:1px solid #e4eae6;scrollbar-width:thin}.admin-tab{display:flex;align-items:center;flex:0 0 auto;max-width:220px;border-right:1px solid #edf1ee;color:#65736c}.admin-tab:first-child{border-left:1px solid #edf1ee}.admin-tab a{overflow:hidden;padding:0 14px;line-height:54px;text-overflow:ellipsis;white-space:nowrap}.admin-tab.active{background:#eaf6f0;color:var(--green);font-weight:700;box-shadow:inset 0 -2px 0 var(--green)}.admin-tab-close{width:24px;height:24px;margin:0 7px 0 -5px;padding:0;border-radius:5px;background:transparent;color:#8b9790;font-size:19px;font-weight:400;line-height:22px}.admin-tab-close:hover{background:#dcece4;color:#146b50}.admin-tab:not(.active):hover{background:#f7faf8;color:#146b50}