:root{--ink:#202a36;--muted:#7d8795;--line:#e8eaed;--ground:#fafafa;--panel:#fff;--orange:#d95c2b;--orange-soft:#fff1ea;--fabric:#327f91;--green:#248c68;--blue:#397eea;--violet:#8364dd}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:14px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;flex:0 0 224px;background:#fcfcfc;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px;padding:0 8px 22px;color:var(--ink);font-size:17px;font-weight:700;text-decoration:none}.brand-mark{width:27px;height:27px;display:grid;place-items:center;background:var(--orange);border-radius:7px;color:#fff;font-size:14px}.section-title{margin:0 9px 7px;color:#a0a8b2;font-size:10px;letter-spacing:.07em}.section-title.lower{margin-top:20px}.nav-list{display:grid;gap:1px}.nav-item{width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#5e6977;display:flex;align-items:center;gap:9px;font:inherit;font-size:13px;text-align:left;cursor:pointer}.nav-item span{width:16px;text-align:center;color:#98a1ac}.nav-item:hover{background:#f6f6f6}.nav-item.active{background:var(--orange-soft);color:#b64c24;font-weight:600}.nav-item.active span{color:var(--orange)}.nav-item b{margin-left:auto;background:#f5e3da;color:#bc5229;border-radius:10px;padding:1px 6px;font-size:10px}.support{display:grid;gap:2px;margin:22px 7px 0;padding:14px 2px 0;border-top:1px solid var(--line);color:#6d7785;font-size:11px}.support span{color:#9ba3ad}.workspace{width:calc(100% - 224px);background:var(--ground)}.topbar{height:58px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.search{width:min(410px,48vw);padding:7px 10px;border-radius:6px;background:#f5f5f5;color:#929ba8;display:flex;gap:7px;align-items:center}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}.top-actions{display:flex;align-items:center;gap:10px}.icon-button,.factory-switch{border:0;background:transparent;color:#626d7b;font:inherit;cursor:pointer}.icon-button{position:relative;font-size:17px}.icon-button i{position:absolute;right:0;top:1px;width:5px;height:5px;border-radius:50%;background:var(--orange)}.factory-switch{font-size:12px}.avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#edb18b;color:#783717;font-size:11px}.mobile-menu{display:none;border:0;background:transparent;font-size:19px}.content{max-width:1360px;margin:auto;padding:32px 36px}.page{display:none}.page-active{display:block}.page-heading,.module-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.eyebrow{margin:0 0 4px;color:#bd5b36;font-size:11px;font-weight:650;letter-spacing:.02em}.page-heading h1,.placeholder-page h1,.module-banner h1{margin:0;font-size:24px;letter-spacing:-.025em}.muted,.module-banner p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:13px}.primary-button,.outline-button,.text-button{font:inherit;cursor:pointer}.primary-button{padding:9px 13px;border:0;border-radius:6px;background:var(--orange);color:#fff;font-size:13px;font-weight:600}.outline-button{padding:8px 11px;border:1px solid #dfdfdf;border-radius:6px;background:#fff;color:#596676;font-size:12px}.text-button{padding:0;border:0;background:none;color:#c5572c;font-size:12px;font-weight:600}.home-hero{padding:0 0 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.home-hero h1{margin:0;font-size:25px;letter-spacing:-.03em}.home-hero p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:13px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.module-card{position:relative;min-height:170px;padding:20px 22px;border:1px solid #e4e4e4;border-radius:9px;background:#fff;color:var(--ink);display:grid;align-content:start;gap:5px;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .18s,box-shadow .18s}.module-card:hover{border-color:#d5d5d5;box-shadow:0 4px 14px #202a360c}.module-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.zipper-card:before{background:var(--orange)}.fabric-card:before{background:var(--fabric)}.module-kicker{color:var(--muted);font-size:10px;letter-spacing:.07em}.module-icon{position:absolute;right:19px;top:17px;font-size:25px}.zipper-card .module-icon{color:var(--orange)}.fabric-card .module-icon{color:var(--fabric)}.module-card strong{margin-top:10px;font-size:19px}.module-card small{max-width:310px;color:var(--muted);font-size:12px;line-height:1.65}.module-card div{display:flex;align-items:center;gap:5px;margin-top:13px;padding-top:11px;border-top:1px solid #eee;color:#74808d;font-size:12px}.module-card div b{color:var(--ink);font-size:15px}.module-card div em{margin-left:auto;font-style:normal}.zipper-card em{color:var(--orange)}.fabric-card em{color:var(--fabric)}.home-bottom,.module-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.metric-card,.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metric-card{position:relative;padding:15px;display:grid;gap:3px}.metric-card>span{color:var(--muted);font-size:11px}.metric-card strong{font-size:21px;letter-spacing:-.03em}.metric-card small{color:#929aa5;font-size:10px}.metric-card small b{color:var(--green)}.warning-text{color:#c2761d!important}.metric-icon{position:absolute;right:13px;top:13px;width:27px;height:27px;display:grid;place-items:center;border-radius:7px;font-size:13px}.amber{color:#c57919;background:#fff2d8}.blue{color:var(--blue);background:#e9f2ff}.green{color:var(--green);background:#e3f7ed}.violet{color:var(--violet);background:#f0edff}.panel{padding:17px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.panel-heading h2,.shortcut-panel h2,.parameter-panel h2{margin:0;font-size:15px}.panel-heading p,.parameter-panel>p{margin:2px 0 0;color:var(--muted);font-size:11px}.filters{display:flex;align-items:center;gap:9px}.filters select{padding:7px 9px;border:1px solid #dfdfdf;border-radius:6px;background:#fff;color:#596676;font:inherit;font-size:11px}.table-wrap{overflow:auto}table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}th{padding:8px;text-align:left;border-bottom:1px solid var(--line);color:#8b94a0;font-weight:500}td{padding:10px 8px;border-bottom:1px solid #f0f1f2;vertical-align:middle}tbody tr:last-child td{border:0}.order-code{color:#c6572b;font-weight:650}.product-cell{display:flex;align-items:center;gap:8px}.swatch{width:25px;height:25px;border-radius:6px;background:linear-gradient(135deg,#d6bfa6,#694d42)}.swatch.blue{background:linear-gradient(135deg,#a9c5d8,#416c88)}.swatch.black{background:linear-gradient(135deg,#7b8492,#222830)}.swatch.orange{background:linear-gradient(135deg,#f6b674,#ba4f30)}.product-cell small{display:block;margin-top:1px;color:var(--muted);font-size:10px}.status{padding:3px 7px;border-radius:20px;font-size:10px;white-space:nowrap}.status.prep{background:#fff1d9;color:#ad680c}.status.production{background:#e9f4ff;color:#1c719f}.status.quality{background:#e2f7ec;color:#207b57}.status.confirm{background:#fbe7f1;color:#a33d76}.row-action{border:0;background:none;color:#bc5a33;font:inherit;font-size:11px;cursor:pointer}.shortcut-panel{display:grid;gap:2px}.shortcut-panel h2{margin-bottom:7px}.shortcut{display:flex;align-items:center;gap:11px;padding:9px 0;border:0;border-bottom:1px solid #f0f1f2;background:transparent;color:#c6582d;font:inherit;font-size:17px;text-align:left;cursor:pointer}.shortcut:last-child{border:0}.shortcut span{color:var(--ink);font-size:12px}.shortcut small{display:block;color:var(--muted);font-size:10px}.shortcut:after{content:"→";margin-left:auto;font-size:12px}.reminders>div{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #f0f1f2}.reminders>div:last-child{border:0}.reminders i{width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--orange)}.reminders p{margin:0;font-size:12px}.reminders span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.count-badge{padding:2px 7px;border-radius:10px;background:var(--orange-soft);color:#c6572b;font-size:10px}.module-banner{padding:0 0 20px;border-bottom:1px solid var(--line);border-radius:0}.module-banner .eyebrow,.fabric-theme .module-banner .eyebrow{color:var(--muted)}.module-banner .primary-button{align-self:center}.fabric-theme .module-banner .primary-button{background:var(--fabric)}.back-home{padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}.parameter-panel dl{margin:11px 0 0}.parameter-panel dl>div{padding:9px 0;border-top:1px solid #f0f1f2}.parameter-panel dt{color:var(--muted);font-size:10px}.parameter-panel dd{margin:2px 0 0;font-size:12px}.placeholder-page{padding:110px 20px;text-align:center}.placeholder-page p{max-width:430px;margin:8px auto 20px;color:var(--muted)}.empty-icon{margin-bottom:10px;color:var(--orange);font-size:38px}dialog{width:min(720px,calc(100vw - 32px));padding:0;border:0;border-radius:10px;box-shadow:0 20px 60px #1b26394a}dialog::backdrop{background:#26324975}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 23px 12px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px}.modal-header p{margin:2px 0 0;color:var(--muted);font-size:11px}.close{border:0;background:none;color:#8b96a6;font-size:25px;line-height:20px;cursor:pointer}.inquiry-step{display:flex;align-items:center;gap:8px;padding:11px 23px;border-bottom:1px solid #eee;background:#fafafa;color:#9d705d;font-size:10px}.inquiry-step i{width:20px;height:1px;background:#e8c9ba}.inquiry-step .step-active{color:#bd5229;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px 23px}.inquiry-grid{max-height:59vh;overflow:auto}.form-grid label{display:grid;gap:5px;color:#586575;font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{padding:8px;border:1px solid #dedede;border-radius:6px;outline-color:#e17b52;font:inherit;font-size:12px}.form-grid textarea{height:66px;resize:vertical}.form-grid .full{grid-column:1/-1}.form-grid small{color:var(--muted);font-size:10px}.spec-group{padding:10px;border:1px solid #ececec;border-radius:7px;background:#fbfbfb}.spec-group p{margin:0 0 8px;color:#687486;font-size:10px;font-weight:700}.spec-group>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.spec-group label{font-size:10px}.spec-group label:last-child{grid-column:span 2}.hidden{display:none}.quote-summary{display:grid;gap:2px;margin:0 23px 4px;padding:10px 12px;border-radius:6px;background:#faf6f3}.quote-summary span{color:#bc5b31;font-size:10px}.quote-summary strong{color:#7a3a22;font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:13px 23px 20px}.toast{position:fixed;bottom:24px;left:50%;padding:10px 15px;border-radius:7px;background:#253142;color:#fff;opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:.2s;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:900px){.sidebar{width:190px;flex-basis:190px}.workspace{width:calc(100% - 190px)}.content{padding:25px}.metric-grid{grid-template-columns:repeat(2,1fr)}.home-bottom,.module-layout{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{display:none;position:fixed;z-index:4;top:0;bottom:0;left:0;width:224px;box-shadow:8px 0 24px #25304622}.sidebar.open{display:flex}.workspace{width:100%}.topbar{padding:0 16px}.mobile-menu{display:block}.search{flex:1;width:auto;margin:0 10px}.factory-switch{display:none}.content{padding:22px 18px}.home-hero,.module-banner,.page-heading{align-items:flex-start;flex-direction:column}.home-hero{padding-bottom:18px}.home-hero h1,.module-banner h1{font-size:22px}.module-grid{grid-template-columns:1fr}.module-card{min-height:156px}.form-grid{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.form-grid .full{grid-column:auto}.spec-group>div{grid-template-columns:1fr}.spec-group label:last-child{grid-column:auto}.inquiry-step{padding-left:16px;padding-right:16px}.quote-summary{margin-left:16px;margin-right:16px}.modal-actions{padding-left:16px;padding-right:16px}}

/* 商户端 / 客户端切换与一体化履约、开票流程 */
.nav-item[data-page="zipperDashboard"],.nav-item[data-page="fabricDashboard"]{display:none}.role-toggle{display:flex;padding:2px;background:#f4f4f4;border-radius:6px}.role-button{padding:5px 9px;border:0;border-radius:4px;background:transparent;color:#788393;font:inherit;font-size:11px;cursor:pointer}.role-button.active{background:#fff;color:#bf542a;box-shadow:0 1px 3px #2222}.client-nav-panel{display:none}.empty-cell{padding:20px;text-align:center;color:var(--muted)}body[data-role="client"] .sidebar>.section-title,body[data-role="client"] .sidebar>.nav-list,body[data-role="client"] .sidebar>.support{display:none}body[data-role="client"] .client-nav-panel{display:block;margin-top:10px}.client-nav-panel .support{display:grid}.client-hero{padding:4px 0 25px;border-bottom:1px solid var(--line)}.client-hero h1{margin:0;font-size:26px;letter-spacing:-.03em}.client-hero p:not(.eyebrow){margin:6px 0 0;color:var(--muted)}.client-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.client-product-grid article{padding:24px;border:1px solid var(--line);border-radius:9px;background:#fff}.client-product-grid p{margin:9px 0 3px;color:var(--muted);font-size:11px}.client-product-grid h2{margin:0;font-size:19px}.client-product-grid small{display:block;min-height:38px;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}.client-product-grid button{margin-top:17px}.client-product-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font-size:19px}.client-product-icon.zipper{background:var(--orange-soft);color:var(--orange)}.client-product-icon.fabric{background:#e7f4f5;color:var(--fabric)}.fabric-action{background:var(--fabric)}.client-flow{display:flex;justify-content:center;gap:13px;margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#697585;font-size:12px}.client-flow i{color:#c35b31;font-style:normal}.client-page .primary-button{box-shadow:none}.client-page .eyebrow{color:#397d88}@media(max-width:640px){.role-toggle{display:none}.client-product-grid{grid-template-columns:1fr}.client-flow{flex-wrap:wrap;gap:7px}.client-flow i{display:none}}

/* 登录身份隔离：进入系统前必须选择商户或客户 */
.session-role{padding:4px 8px;border-radius:5px;background:#f4f4f4;color:#687485;font-size:11px}.logout-button{border:0;background:transparent;color:#8a95a4;font:inherit;font-size:11px;cursor:pointer}.login-screen{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f9f5f2,#f5f8fa)}body[data-auth="signed-out"] .app-shell{display:none}body[data-auth="signed-out"] .login-screen{display:flex}.login-card{width:min(680px,100%);padding:36px;border:1px solid #e9e9e9;border-radius:12px;background:#fff;box-shadow:0 14px 36px #27364712}.login-brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:17px}.login-brand .brand-mark{flex:0 0 27px}.login-card>.eyebrow{margin-top:25px}.login-card h1{margin:0;font-size:26px;letter-spacing:-.03em}.login-copy{max-width:530px;margin:7px 0 0;color:var(--muted);font-size:13px}.login-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.login-role-card{padding:17px;border:1px solid #e4e4e4;border-radius:8px;background:#fff;color:var(--ink);display:grid;gap:3px;text-align:left;cursor:pointer}.login-role-card:hover{border-color:#d4d4d4}.login-role-card.selected{border-color:#d95c2b;background:#fff7f3;box-shadow:inset 3px 0 0 #d95c2b}.login-role-card>span{color:#bd5b36;font-size:11px;font-weight:650}.login-role-card strong{font-size:16px}.login-role-card small{color:var(--muted);font-size:11px}.login-card form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-card form label{display:grid;gap:5px;color:#586575;font-size:11px}.login-card form input{padding:9px;border:1px solid #dedede;border-radius:6px;outline-color:#e17b52;font:inherit}.login-hint{grid-column:1/-1;margin:0;color:#a0674d;font-size:11px}.login-submit{grid-column:1/-1}.demo-note{margin:13px 0 0;color:#a2a9b3;font-size:10px;text-align:center}@media(max-width:640px){.login-card{padding:25px 20px}.login-role-grid,.login-card form{grid-template-columns:1fr}}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px 23px 16px}.detail-item{display:grid;gap:4px;min-height:66px;padding:13px 12px;border-bottom:1px solid var(--line)}.detail-item:nth-last-child(-n+1){grid-column:1/-1}.detail-item span{color:var(--muted);font-size:11px}.detail-item strong{font-size:12px;font-weight:600;line-height:1.55;white-space:pre-wrap;word-break:break-word}@media(max-width:640px){.detail-grid{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.detail-item:nth-last-child(-n+1){grid-column:auto}}
.auth-register-only{grid-column:1/-1}.login-card form label.auth-register-only.hidden{display:none}.auth-mode-toggle{display:block;margin:13px auto 0}.login-submit:disabled{cursor:wait;opacity:.65}
.user-metric-grid{margin-bottom:14px}.user-role-badge{display:inline-flex;min-width:42px;justify-content:center;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:650}.user-role-badge.merchant{background:var(--orange-soft);color:#b64c24}.user-role-badge.client{background:#e7f4f5;color:#277485}.user-id{display:block;max-width:250px;margin-top:2px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}#userManagementState{color:var(--muted)}
body[data-auth="restoring"] .app-shell,body[data-auth="restoring"] .login-screen{display:none}
.profile-trigger{display:flex;align-items:center;gap:7px;padding:3px;border:0;background:transparent;color:#626d7b;font:inherit;font-size:12px;cursor:pointer}.profile-trigger small{color:#9da5ae;font-size:11px}.profile-trigger:hover{color:#b64c24}.profile-trigger .avatar{width:29px;height:29px}.avatar[data-tone="teal"]{background:#dff2ee;color:#176d61}.avatar[data-tone="blue"]{background:#e7f0ff;color:#346bb9}.avatar[data-tone="violet"]{background:#eee9ff;color:#6645b5}.avatar[data-tone="green"]{background:#e2f7ec;color:#237653}.avatar[data-tone="rose"]{background:#fbe7f0;color:#a63b71}.profile-setting-grid{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:start}.profile-preview{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center}.profile-preview .avatar{width:68px;height:68px;margin:0 auto 9px;font-size:22px}.profile-preview strong,.profile-preview small{display:block}.profile-preview small{margin-top:3px;color:var(--muted);font-size:11px}.avatar-tone-picker{display:flex;justify-content:center;gap:8px;margin-top:16px}.avatar-tone-picker label{cursor:pointer}.avatar-tone-picker input{position:absolute;opacity:0;pointer-events:none}.avatar-tone-picker span{display:block;width:20px;height:20px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d8dce0}.avatar-tone-picker input:checked+span{box-shadow:0 0 0 2px var(--ink)}.avatar-tone-picker .orange{background:#edb18b}.avatar-tone-picker .teal{background:#81c9ba}.avatar-tone-picker .blue{background:#8ab1ee}.avatar-tone-picker .violet{background:#ad9be9}.avatar-tone-picker .green{background:#82c9a6}.avatar-tone-picker .rose{background:#e8a2bf}.profile-form-actions{margin-top:2px}.customer-profile-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:0;padding:8px 23px 16px}.customer-profile-summary div{display:grid;gap:3px;padding:10px;border-bottom:1px solid #f0f1f2}.customer-profile-summary div:last-child{grid-column:1/-1}.customer-profile-summary span{color:var(--muted);font-size:10px}.customer-profile-summary strong{font-size:12px;word-break:break-word}.merchant-note-help{margin:0 23px;color:var(--muted);font-size:11px}@media(max-width:640px){.profile-trigger>span:not(.avatar),.profile-trigger small{display:none}.profile-setting-grid{grid-template-columns:1fr}.profile-preview{display:flex;align-items:center;gap:12px;text-align:left}.profile-preview .avatar{margin:0}.avatar-tone-picker{margin:0 0 0 auto}.customer-profile-summary{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.customer-profile-summary div:last-child{grid-column:auto}}

/* 客户订货端移动适配：仅在客户端身份下生效，商户端维持桌面工作台布局。 */
@media(max-width:760px){
  body[data-role="client"]{padding-bottom:72px;background:#f7f8f9}
  body[data-role="client"] .app-shell{display:block;min-height:100dvh}
  body[data-role="client"] .workspace{width:100%}
  body[data-role="client"] .sidebar{display:block;position:fixed;z-index:12;top:auto;right:0;bottom:0;left:0;width:100%;height:68px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-right:0;background:#fff;box-shadow:0 -4px 18px #25304612}
  body[data-role="client"] .sidebar .brand,body[data-role="client"] .sidebar>.section-title,body[data-role="client"] .sidebar>.nav-list,body[data-role="client"] .sidebar>.support,body[data-role="client"] .client-nav-panel>.section-title,body[data-role="client"] .client-nav-panel .support{display:none}
  body[data-role="client"] .client-nav-panel{display:block;margin:0}
  body[data-role="client"] .client-nav-panel .nav-list{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
  body[data-role="client"] .client-nav-panel .nav-item{min-height:52px;padding:4px 2px;justify-content:center;gap:2px;flex-direction:column;border-radius:7px;font-size:10px;text-align:center;line-height:1.15}
  body[data-role="client"] .client-nav-panel .nav-item span{width:auto;font-size:16px;line-height:1}
  body[data-role="client"] .topbar{position:sticky;z-index:8;top:0;height:56px;padding:0 13px;gap:9px}
  body[data-role="client"] .mobile-menu,body[data-role="client"] .icon-button,body[data-role="client"] .session-role,body[data-role="client"] .logout-button{display:none}
  body[data-role="client"] .search{width:auto;min-width:0;flex:1;margin:0;padding:8px 10px}
  body[data-role="client"] .search input{font-size:13px}
  body[data-role="client"] .top-actions{gap:0}
  body[data-role="client"] .profile-trigger{padding:2px}
  body[data-role="client"] .content{padding:18px 14px 8px}
  body[data-role="client"] .client-hero{padding:4px 2px 18px}
  body[data-role="client"] .client-hero h1{font-size:24px;line-height:1.25}
  body[data-role="client"] .client-hero p:not(.eyebrow){font-size:12px;line-height:1.65}
  body[data-role="client"] .client-product-grid{grid-template-columns:1fr;gap:11px;margin-top:14px}
  body[data-role="client"] .client-product-grid article{padding:19px 18px;border-radius:10px}
  body[data-role="client"] .client-product-grid h2{font-size:18px}
  body[data-role="client"] .client-product-grid small{min-height:0;font-size:12px}
  body[data-role="client"] .client-product-grid button,body[data-role="client"] .client-page .primary-button{width:100%;min-height:42px;margin-top:14px;font-size:14px}
  body[data-role="client"] .client-flow{justify-content:flex-start;gap:6px;margin-top:12px;padding:11px;font-size:10px;line-height:1.4}
  body[data-role="client"] .client-flow span{padding:3px 5px;border-radius:4px;background:#f6f7f8}
  body[data-role="client"] .page-heading{align-items:stretch;gap:10px;margin-bottom:14px}
  body[data-role="client"] .page-heading h1{font-size:22px}
  body[data-role="client"] .page-heading .muted{font-size:12px}
  body[data-role="client"] .panel{padding:12px;border-radius:9px}
  body[data-role="client"] .table-wrap{margin:0 -2px;scrollbar-width:thin}
  body[data-role="client"] #clientOrders table,body[data-role="client"] #clientInvoices table{min-width:700px;font-size:11px}
  body[data-role="client"] #clientOrders th,body[data-role="client"] #clientOrders td,body[data-role="client"] #clientInvoices th,body[data-role="client"] #clientInvoices td{padding:9px 7px}
  body[data-role="client"] dialog{width:100%;max-width:none;max-height:92dvh;margin:0;border-radius:14px 14px 0 0;position:fixed;right:0;bottom:0;left:0}
  body[data-role="client"] dialog::backdrop{background:#26324966}
  body[data-role="client"] .modal-header{padding:17px 17px 11px}
  body[data-role="client"] .modal-header h2{font-size:17px}
  body[data-role="client"] .form-grid{max-height:61dvh;padding:14px 17px;overflow:auto}
  body[data-role="client"] .form-grid input,body[data-role="client"] .form-grid select,body[data-role="client"] .form-grid textarea{min-height:42px;font-size:14px}
  body[data-role="client"] .modal-actions{padding:12px 17px calc(15px + env(safe-area-inset-bottom));background:#fff}
  body[data-role="client"] .modal-actions button{min-height:42px;font-size:14px}
  body[data-role="client"] #profileSettings .profile-setting-grid{grid-template-columns:1fr}
}

@media(max-width:380px){
  body[data-role="client"] .client-nav-panel .nav-item{font-size:9px}
  body[data-role="client"] .content{padding-left:11px;padding-right:11px}
  body[data-role="client"] .client-hero h1{font-size:22px}
}

/* 商户端：仅将可由管理员直接推动的业务节点置于总览焦点位 */
body[data-role="merchant"] .merchant-action-center{margin:0 0 14px;padding:18px;border:1px solid #f0d8ce;border-radius:10px;background:linear-gradient(115deg,#fffaf7 0%,#fff 62%,#f8fbfb 100%);box-shadow:0 7px 22px #5b2d1710}
body[data-role="merchant"] .merchant-action-center.is-clear{border-color:#dceae3;background:linear-gradient(110deg,#f8fdf9,#fff)}
body[data-role="merchant"] .merchant-action-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
body[data-role="merchant"] .merchant-action-heading .eyebrow,body[data-role="merchant"] .merchant-action-clear .eyebrow{margin-bottom:3px;color:#c1542a}
body[data-role="merchant"] .merchant-action-heading h2,body[data-role="merchant"] .merchant-action-clear h2{margin:0;font-size:17px;letter-spacing:-.02em}
body[data-role="merchant"] .merchant-action-heading p:not(.eyebrow),body[data-role="merchant"] .merchant-action-clear p:not(.eyebrow){margin:3px 0 0;color:var(--muted);font-size:11px}
body[data-role="merchant"] .merchant-action-beacon{position:relative;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff0e9;color:#bd4e24;font-size:11px;font-weight:650}
body[data-role="merchant"] .merchant-action-beacon i{position:relative;z-index:1;width:7px;height:7px;border-radius:50%;background:#e3693e}
body[data-role="merchant"] .merchant-action-beacon i:after{content:"";position:absolute;inset:-5px;border:1px solid #e3693e;border-radius:50%;animation:merchant-beacon 1.8s ease-out infinite}
body[data-role="merchant"] .merchant-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px}
body[data-role="merchant"] .merchant-action-card{position:relative;min-height:142px;padding:14px 13px 12px;border:1px solid var(--action-line,#eee0da);border-radius:9px;background:var(--action-ground,#fff);color:var(--ink);display:grid;grid-template-columns:37px minmax(0,1fr);align-content:start;gap:10px;text-align:left;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body[data-role="merchant"] .merchant-action-card:before{content:"";position:absolute;right:-16px;top:-25px;width:86px;height:86px;border-radius:50%;background:var(--action-glow,#fbece5);opacity:.72;transition:transform .3s ease}
body[data-role="merchant"] .merchant-action-card:hover{transform:translateY(-3px);border-color:var(--action-accent,#d95c2b);box-shadow:0 9px 20px #2d344014}
body[data-role="merchant"] .merchant-action-card:hover:before{transform:scale(1.2)}
body[data-role="merchant"] .merchant-action-card:focus-visible{outline:3px solid #3f86ea66;outline-offset:2px}
body[data-role="merchant"] .merchant-action-card.critical{--action-accent:#d95c2b;--action-line:#edc6b8;--action-ground:#fffaf7;--action-glow:#ffe4d9}
body[data-role="merchant"] .merchant-action-card.warning{--action-accent:#c78519;--action-line:#eadbb9;--action-ground:#fffdf8;--action-glow:#fff0ca}
body[data-role="merchant"] .merchant-action-card.shipping{--action-accent:#397eea;--action-line:#c9dcf8;--action-ground:#f9fbff;--action-glow:#ddecff}
body[data-role="merchant"] .merchant-action-card.invoice{--action-accent:#8364dd;--action-line:#d9cef6;--action-ground:#fbfaff;--action-glow:#e9e3ff}
body[data-role="merchant"] .merchant-action-card.followup{--action-accent:#397d88;--action-line:#c7e0e4;--action-ground:#f8fcfc;--action-glow:#dff2f3}
body[data-role="merchant"] .merchant-action-icon{position:relative;z-index:1;width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:var(--action-glow,#fff0e9);color:var(--action-accent,#d95c2b)}
body[data-role="merchant"] .merchant-action-icon svg{width:21px;height:21px;animation:merchant-icon-nudge 2.4s ease-in-out infinite}
body[data-role="merchant"] .merchant-action-copy{position:relative;z-index:1;display:grid;align-content:start;gap:2px;min-width:0}
body[data-role="merchant"] .merchant-action-copy small{color:#697583;font-size:11px}
body[data-role="merchant"] .merchant-action-copy strong{font-size:26px;line-height:1.03;letter-spacing:-.04em;color:var(--action-accent,#d95c2b)}
body[data-role="merchant"] .merchant-action-copy strong em{margin-left:3px;font-size:11px;font-style:normal;font-weight:600;letter-spacing:0}
body[data-role="merchant"] .merchant-action-copy>span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45}
body[data-role="merchant"] .merchant-action-go{position:absolute;right:12px;bottom:10px;z-index:1;color:var(--action-accent,#d95c2b);font-size:11px;font-weight:700}
body[data-role="merchant"] .merchant-action-go b{display:inline-block;margin-left:4px;font-size:14px;transition:transform .2s ease}
body[data-role="merchant"] .merchant-action-card:hover .merchant-action-go b{transform:translateX(3px)}
body[data-role="merchant"] .merchant-action-clear{display:flex;align-items:center;gap:12px;padding:2px}
body[data-role="merchant"] .merchant-action-clear .merchant-action-icon{flex:0 0 auto;background:#ddf4e8;color:#248c68}
@keyframes merchant-beacon{0%{opacity:.8;transform:scale(.65)}75%,100%{opacity:0;transform:scale(1.45)}}
@keyframes merchant-icon-nudge{0%,72%,100%{transform:translateY(0) rotate(0)}78%{transform:translateY(-2px) rotate(-5deg)}84%{transform:translateY(1px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){body[data-role="merchant"] .merchant-action-beacon i:after,body[data-role="merchant"] .merchant-action-icon svg{animation:none}body[data-role="merchant"] .merchant-action-card,body[data-role="merchant"] .merchant-action-card:before,body[data-role="merchant"] .merchant-action-go b{transition:none}}
@media(max-width:900px){body[data-role="merchant"] .merchant-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body[data-role="merchant"] .merchant-action-heading{flex-direction:column;gap:8px}body[data-role="merchant"] .merchant-action-grid{grid-template-columns:1fr}}

/* 商户商品与库存中心 */
.catalog-module-tabs{display:flex;gap:8px;margin:-4px 0 14px}.catalog-module-tabs button{padding:8px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#687485;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:.18s}.catalog-module-tabs button:hover{border-color:#d7b09f;color:#bd532b}.catalog-module-tabs button.active{border-color:#d95c2b;background:var(--orange-soft);color:#b94c24;box-shadow:inset 3px 0 0 #d95c2b}.catalog-metrics{margin-bottom:14px}.catalog-metrics .metric-card:nth-child(3) strong{color:#c67b19}.inventory-history{margin-top:14px}.inventory-track{width:92px;height:5px;margin-top:5px;overflow:hidden;border-radius:8px;background:#edf0f2}.inventory-track i{display:block;width:var(--stock-width);height:100%;border-radius:inherit;background:var(--green)}.inventory-track i.low{background:#d28a21}.inventory-change{font-weight:650}.inventory-change.in{color:#248c68}.inventory-change.out{color:#c5572c}#clientProductStockHint{display:block;color:var(--muted);font-size:10px;line-height:1.45}#clientOrderForm input[readonly]{background:#f6f7f8;color:#687485;cursor:not-allowed}
.login-role-card.register-disabled{opacity:.45;cursor:not-allowed}.login-role-card.register-disabled:hover{border-color:#e4e4e4}.approval-approve,.approval-enable{color:#248c68}.approval-reject,.approval-disable{color:#b64c24}.status.disabled{background:#fff1ef;color:#b64c24}
