/* 实验区苹果04 V4：固定 1440 电脑端版式、①–⑧ 主流程条、多人与社区总办 */
html.v4-fixed, html.v4-fixed body { min-width: 1440px; overflow: auto; }
html.v4-fixed .stage { width: 1440px; margin: 0 auto; transform: translateZ(0); }
html.v4-fixed .app { height: 100%; }
.v4-zoom { position: fixed; right: 18px; bottom: 86px; z-index: 9000; display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.v4-zoom button { min-width: 52px; min-height: 40px; border-radius: 12px; border: 1px solid rgba(0,0,0,.12); background: rgba(255,255,255,.96); font-size: 16px; font-weight: 600; color: #1d1d1f; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.v4-zoom #v4-zoom-val { font-size: 14px; font-weight: 500; }
.v4-zoom button:hover { background: #f2f2f7; }
.app.v4-scale .dock-home, .app.v4-scale #dock-fab-wrap { display: none !important; }
.v4-flow { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 10px 14px; margin: 0 0 14px; background: #fff; border-radius: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.06); font-size: 14px; }
.v4-flow-h { font-weight: 600; margin-right: 6px; color: #3a3a3c; }
.v4-flow-s { padding: 4px 10px; border-radius: 999px; background: #f2f2f7; color: #6e6e73; }
.v4-flow-s.done { background: #e8f1fc; color: #0a66d8; }
.v4-flow-s.on { background: #0a66d8; color: #fff; font-weight: 600; }
.v4-flow-tag { margin-left: auto; padding: 4px 10px; border-radius: 999px; background: #e8f8ee; color: #1b7f3b; }
.v4-node { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #0a66d8; color: #fff; font-size: 14px; font-weight: 600; margin-right: 6px; vertical-align: 2px; }
.v4-chips { display: flex; gap: 8px; margin: 0 0 12px; flex-wrap: wrap; }
.v4-chip { padding: 6px 14px; border-radius: 999px; background: #ececf0; font-size: 14px; }
.v4-chip.on { background: #0a66d8; color: #fff; font-weight: 600; }
.v4-chip.done { background: #e8f8ee; color: #1b7f3b; }
.v4-note { padding: 10px 14px; background: #f4f8fe; border: 1px solid #d9e6f8; border-radius: 12px; margin: 0 0 12px; font-size: 14px; }
.v4-desk { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.v4-desk-main, .v4-desk-side { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.v4-desk .card, .v4-two .card, .v4-cols .card { margin: 0; }
.v4-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.v4-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.v4-kv { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 10px; padding: 6px 0; font-size: 15px; }
.v4-kv .k { color: #6e6e73; }
.v4-kv .src, .v4-kv small.src { display: block; font-size: 14px; color: #8e8e93; }
.v4-allergy .v b { color: #b3261e; }
.v4-q { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #f0f0f3; }
.v4-q:last-of-type { border-bottom: 0; }
.v4-q.on { background: #f4f8fe; border-radius: 10px; padding: 10px 8px; }
.v4-q .avatar { width: 34px; height: 34px; border-radius: 50%; background: #ececf0; display: grid; place-items: center; font-weight: 600; flex: none; }
.v4-q-t { flex: 1; min-width: 0; }
.v4-q-t small { display: block; color: #6e6e73; font-size: 14px; }
.btn.sm { min-height: 36px; padding: 4px 12px; font-size: 14px; }
.v4-acct-list, .v4-role-list { display: grid; gap: 8px; }
.v4-acct, .v4-role { display: flex; gap: 12px; align-items: center; text-align: left; padding: 10px 12px; border: 1px solid #e5e5ea; border-radius: 12px; background: #fff; cursor: pointer; min-height: 52px; font: inherit; }
.v4-acct small, .v4-role small { display: block; color: #6e6e73; font-size: 14px; }
.v4-role { flex-direction: column; align-items: flex-start; gap: 2px; }
.v4-acct.on, .v4-role.on { border-color: #0a66d8; background: #f4f8fe; box-shadow: 0 0 0 2px rgba(10,102,216,.15); }
.v4-acct .avatar { width: 34px; height: 34px; border-radius: 50%; background: #ececf0; display: grid; place-items: center; font-weight: 600; }
.v4-steps { display: flex; gap: 8px; margin-bottom: 14px; }
.v4-step { padding: 6px 14px; border-radius: 999px; background: #ececf0; }
.v4-step.on { background: #0a66d8; color: #fff; }
.v4-step.done { background: #e8f8ee; color: #1b7f3b; }
.v4-sb-hint { padding: 12px 16px; font-size: 14px; }
.v4-slip-head { display: flex; flex-wrap: wrap; gap: 18px; padding: 8px 0 10px; border-bottom: 1px solid #f0f0f3; margin-bottom: 6px; }
.v4-rx-head, .v4-rx-row { display: grid; grid-template-columns: 32px minmax(180px, 1.6fr) minmax(110px, 1fr) 130px 70px 150px 96px 76px 44px; gap: 8px; align-items: center; }
.v4-rx-head { font-size: 14px; color: #8e8e93; padding: 4px 0; }
.v4-rx-row { padding: 8px 0; border-bottom: 1px solid #f0f0f3; }
.v4-rx-row.ok { background: #f6fbf7; }
.v4-rx-row input, .v4-rx-row select { min-height: 36px; border: 1px solid #d1d1d6; border-radius: 8px; padding: 2px 8px; font: inherit; font-size: 14px; width: 100%; box-sizing: border-box; background: #fff; }
.v4-rx-name select { margin-top: 4px; font-size: 14px; }
.v4-info { width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid #0a66d8; color: #0a66d8; background: #fff; font-weight: 700; cursor: pointer; }
.v4-rx-info { grid-column: 2 / -1; font-size: 14px; color: #3a3a3c; background: #f7f7f9; border-radius: 8px; padding: 6px 10px; }
.v4-days { display: flex; align-items: center; gap: 4px; }
.v4-days input { width: 48px !important; text-align: center; }
.v4-step-btn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid #d1d1d6; background: #fff; font-size: 16px; cursor: pointer; }
.v4-stock { font-size: 14px; padding: 2px 8px; border-radius: 999px; text-align: center; }
.v4-stock.s-ok { background: #e8f8ee; color: #1b7f3b; }
.v4-stock.s-low { background: #fff4e0; color: #9a5b00; }
.v4-stock.s-none { background: #fdecea; color: #b3261e; }
.v4-alg-block { margin: 8px 0; }
.v4-alg { padding: 10px 12px; background: #fdecea; border-radius: 10px; color: #7a1c14; margin-bottom: 6px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.v4-ex-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px 80px 44px; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid #f0f0f3; }
.v4-alldays { display: flex; gap: 10px; align-items: center; padding: 8px 0; }
.v4-alldays input { width: 60px; min-height: 34px; border: 1px solid #d1d1d6; border-radius: 8px; padding: 2px 8px; }
.v4-add { margin: 10px 0; }
.v4-add summary { cursor: pointer; color: #0a66d8; padding: 6px 0; }
.v4-hits { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.v4-hit { border: 1px solid #d1d1d6; background: #fff; border-radius: 10px; padding: 6px 10px; cursor: pointer; font: inherit; font-size: 14px; min-height: 36px; }
.v4-gap { font-weight: 600; color: #9a5b00; }
.v4-dx { padding: 6px 0; }
.v4-alts { font-size: 14px; color: #6e6e73; }
.v4-receipts p { margin: 4px 0; }
.v4-receipt-card { border-left: 4px solid #1b7f3b; }
.v4-voice { color: #6e6e73; }
#v4-live { width: 100%; box-sizing: border-box; min-height: 120px; border: 1px solid #d1d1d6; border-radius: 12px; padding: 10px; font: inherit; }
.v4-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; }
.v4-msg { padding: 10px 0; border-bottom: 1px solid #f0f0f3; }
.v4-msg.unread { background: #f4f8fe; border-radius: 10px; padding: 10px; }
.v4-ai-box { background: #f7f7f9; border-radius: 10px; padding: 8px 12px; margin: 8px 0; }
.v4-perm { min-width: 40px; min-height: 36px; border-radius: 8px; border: 1px solid #d1d1d6; background: #fff; cursor: pointer; }
.v4-perm.on { background: #e8f8ee; border-color: #8fd1a4; color: #1b7f3b; font-weight: 600; }
.v4-lis { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.v4-lis-s { padding: 3px 9px; border-radius: 999px; background: #f2f2f7; font-size: 14px; color: #6e6e73; }
.v4-lis-s.done { background: #e8f8ee; color: #1b7f3b; }
.v4-lis-s.on { background: #0a66d8; color: #fff; }
.v4-crit-banner { background: #fdecea; border: 1px solid #f3b8b2; color: #7a1c14; }
.v4-crit { border-left: 4px solid #b3261e; }
.v4-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.v4-tab { padding: 6px 14px; border-radius: 999px; border: 1px solid #d1d1d6; background: #fff; cursor: pointer; min-height: 36px; font: inherit; }
.v4-tab.on { background: #0a66d8; color: #fff; border-color: #0a66d8; }
.v4-hint { background: #fff8e6; border-radius: 10px; padding: 8px 12px; font-size: 14px; }
.v4-home-receipts .v4-hr { padding: 8px 0; border-bottom: 1px solid #f0f0f3; }
.v4-home-receipts .v4-hr p { margin: 2px 0; }
.v4-rxline { margin: 4px 0; }
@media (prefers-color-scheme: dark) {
  .v4-flow, .v4-acct, .v4-role, .v4-hit, .v4-zoom button, .v4-tab, .v4-perm, .v4-step-btn, .v4-info { background: #1c1c1e; color: #f2f2f7; }
  .v4-note, .v4-q.on, .v4-msg.unread { background: #102a4a; border-color: #1f4a7f; }
}
.v4-spec.pending { border-color: #e0a100 !important; background: #fff8e6 !important; }
.v4-pager { display: flex; gap: 10px; align-items: center; padding: 8px 0; }
.wheel-col { scrollbar-width: thin; }
.wheel-col::-webkit-scrollbar { display: block; width: 8px; }
.wheel-col::-webkit-scrollbar-thumb { background: #c7c7cc; border-radius: 4px; }
.v4-zoom.inline { position: static; flex-direction: row; align-items: center; gap: 4px; margin-right: 8px; z-index: auto; }
.v4-zoom.inline button { min-width: 40px; min-height: 36px; box-shadow: none; }
