/* 2026-10-28 · 三端效果图的组件与排版语言 */
body { background:var(--revamp-surround); }
::selection { background:var(--brand-light);color:var(--ink-strong); }
:focus-visible { outline:2px solid var(--brand-bright);outline-offset:3px; }
input,textarea { caret-color:var(--brand); }
body[data-client="wechat-miniprogram"] .device { background:var(--revamp-frame);box-shadow:0 16px 48px rgba(20,40,79,.13);border:1px solid var(--revamp-divider);border-radius:38px; }
body[data-client="wechat-miniprogram"] .screen { border-radius:28px;isolation:isolate; }
body[data-client="wechat-miniprogram"] .statusbar,body[data-client="wechat-miniprogram"] .mp-head,body[data-client="wechat-miniprogram"] .navbar { background:var(--revamp-header);color:var(--card); }
body[data-client="wechat-miniprogram"] .mp-head { height:50px;flex:none;font-size:20px;letter-spacing:0;gap:8px; }
body[data-client="wechat-miniprogram"] .mp-head small { color:var(--brand-light);font-size:11px;margin-left:0; }
body[data-client="wechat-miniprogram"] .navbar .nav-title,body[data-client="wechat-miniprogram"] .back { color:var(--card); }
body[data-client="wechat-miniprogram"] .navbar .nav-title { right:104px;left:46px;text-align:left;font-size:16px; }
body[data-client="wechat-miniprogram"] .page { padding-top:16px;padding-bottom:24px;scrollbar-width:none; }
body[data-client="wechat-miniprogram"] .flow-head { padding:4px 0 20px; }
body[data-client="wechat-miniprogram"] .flow-head h1,body[data-client="wechat-miniprogram"] .sub-page h1 { font-size:23px;font-weight:700;line-height:1.4;margin:0 0 7px;letter-spacing:-.02em; }
body[data-client="wechat-miniprogram"] .intro,body[data-client="wechat-miniprogram"] .flow-head p { font-size:13px;line-height:1.7; }
body[data-client="wechat-miniprogram"] .flow-card,body[data-client="wechat-miniprogram"] .ledger-list,body[data-client="wechat-miniprogram"] .mine-section,body[data-client="wechat-miniprogram"] .evidence-group,body[data-client="wechat-miniprogram"] .profile-card { border:0;box-shadow:var(--revamp-shadow);border-radius:var(--r-card); }
body[data-client="wechat-miniprogram"] .flow-card { padding:18px;margin-bottom:14px; }
body[data-client="wechat-miniprogram"] .flow-card h2 { font-size:16px;line-height:1.5;margin-bottom:14px; }
body[data-client="wechat-miniprogram"] .flow-card p { font-size:13px;line-height:1.7; }
body[data-client="wechat-miniprogram"] .flow-row { padding:14px 0;font-size:14px;border-color:var(--revamp-divider); }
body[data-client="wechat-miniprogram"] .flow-row small,body[data-client="wechat-miniprogram"] .flow-help,body[data-client="wechat-miniprogram"] .flow-mini { font-size:12px;line-height:1.65; }
body[data-client="wechat-miniprogram"] .flow-input,body[data-client="wechat-miniprogram"] .flow-select { min-height:48px;font-size:14px;padding:12px; }
body[data-client="wechat-miniprogram"] .flow-label { font-size:13px;font-weight:500;margin-bottom:8px; }
body[data-client="wechat-miniprogram"] .flow-field { margin-bottom:18px; }
body[data-client="wechat-miniprogram"] .flow-btn,body[data-client="wechat-miniprogram"] .main-action { min-height:46px;font-size:15px;border-radius:var(--r-btn);font-weight:600; }
body[data-client="wechat-miniprogram"] .flow-bottom,body[data-client="wechat-miniprogram"] .decision-bar { padding:12px 16px 22px;border-color:var(--revamp-divider); }
body[data-client="wechat-miniprogram"] .flow-alert,body[data-client="wechat-miniprogram"] .scope-note { border:0;border-radius:10px;font-size:12px;line-height:1.7; }
body[data-client="wechat-miniprogram"] .flow-amount,body[data-client="wechat-miniprogram"] .mine-metric strong { font-family:var(--font);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em; }
body[data-client="wechat-miniprogram"] .flow-pill,body[data-client="wechat-miniprogram"] .tag,body[data-client="wechat-miniprogram"] .project-status-pill { border-radius:6px;font-size:11px;padding:5px 8px; }
body[data-client="wechat-miniprogram"] .mine-title { font-size:23px;margin:0 0 18px; }
body[data-client="wechat-miniprogram"] .profile-card { padding:20px 18px; }
body[data-client="wechat-miniprogram"] .mine-section { margin-top:16px; }
body[data-client="wechat-miniprogram"] .mine-section h2 { padding:17px;font-size:16px;border-color:var(--revamp-divider); }
body[data-client="wechat-miniprogram"] .mine-link,body[data-client="wechat-miniprogram"] .mine-record { padding:16px 17px;font-size:14px;border-color:var(--revamp-divider); }
body[data-client="wechat-miniprogram"] .mine-record strong { font-size:14px;line-height:1.6; }
body[data-client="wechat-miniprogram"] .mine-record small { font-size:12px; }
body[data-client="wechat-miniprogram"] .mine-metrics { gap:12px;padding:16px; }
body[data-client="wechat-miniprogram"] .mine-metric { padding:16px 14px; }
body[data-client="wechat-miniprogram"] .mine-metric strong { font-size:30px; }
body[data-client="wechat-miniprogram"] .tabbar,body[data-client="wechat-miniprogram"] .role-tabbar { padding:7px 8px 23px;border-color:var(--revamp-divider); }
body[data-client="wechat-miniprogram"] .tabbar a,body[data-client="wechat-miniprogram"] .role-tabbar a { font-size:11px;color:var(--ink-2);gap:5px; }
body[data-client="wechat-miniprogram"] .tabbar a.on,body[data-client="wechat-miniprogram"] .role-tabbar a.on { color:var(--brand); }
.nav-icon { display:block;width:23px;height:23px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round; }
.owner-tabs .ico { display:flex;align-items:center;justify-content:center;height:24px;font-style:normal; }
.flow-overlay,.modal-mask { position:absolute; }
.screen>.flow-overlay,.screen>.modal-mask { padding:18px; }
.screen .flow-dialog,.screen .modal { max-width:100%;max-height:90%;border-radius:18px; }
.screen .signature-modal .modal { width:100%; }
.screen .flow-overlay img,.screen .modal-mask img { max-width:100%!important;max-height:100%!important; }
.admin-kpi,.admin-panel { border-radius:var(--r-card); }
.admin-kpi { border-top:0;padding:22px; }
.admin-kpi strong { font-family:var(--font);font-weight:650;font-variant-numeric:tabular-nums; }
.admin-panel { padding:22px; }
.admin-nav a { margin:4px 12px;padding:12px 16px;border-radius:8px; }
.admin-nav a.on { border:0; }
.admin-content .flow-card { border-color:var(--revamp-divider); }
.role-choice { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.role-choice button { padding:17px 7px;text-align:center;border:1px solid var(--line);min-height:110px; }
.role-choice button.selected { box-shadow:none;border:2px solid var(--brand);background:var(--brand-light); }
.role-choice strong { font-size:14px; }
.role-choice small { font-size:11px;line-height:1.5;margin-top:6px; }
.role-choice .role-symbol { margin:0 auto 10px;color:var(--brand); }
.auth-step { display:block;font-size:13px;letter-spacing:0; }
.auth-panel { margin-top:22px; }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;}}

body[data-client="wechat-miniprogram"] .mp-head { justify-content:center;padding-left:104px;white-space:nowrap; }
body[data-client="wechat-miniprogram"] .mp-head small { display:none; }
body[data-client="wechat-miniprogram"] .rd-owner-page { padding-top:0; }
.sh-home .sh-identity { padding-top:4px; }
.sh-crew .sh-identity { margin-top:0; }
.sh-projects .sh-card-summary strong { font-size:16px; }
.sh-home .sh-card { border-color:var(--revamp-divider); }
.sh-home .sh-facts dt { font-size:13px; }
.sh-home .sh-facts dd { font-size:14px; }
.sh-home .sh-actions a,.sh-home .sh-status { font-size:12px; }
.sh-home .sh-footer { font-size:12px; }
.rd-owner .time-label { font-size:13px; }
.rd-owner .rd-task-text p { font-size:13px; }
.rd-owner .rd-step { flex-basis:88px; }
.rd-owner .rd-step strong,.rd-owner .rd-step small { font-size:12px; }
.rd-owner .rd-pause-note strong { font-size:12px; }
.rd-owner .rd-pause-note small { font-size:11px; }
.rd-owner .rd-data-card .rd-data-row { font-size:13px; }

/* 盛邦云筑品牌：仅在三种身份首页顶栏显示 Logo，其余页面保留原布局。 */
body[data-client="wechat-miniprogram"] .sb-brand-head { gap:7px; }
body[data-client="wechat-miniprogram"] .sb-mini-logo { width:32px;height:32px;flex:none;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(15,35,70,.16); }
