/* 隐藏 QW Pages 注入的「千问办公」品牌栏/角标 */
[class*="mulepage"],[id*="mulepage"]{display:none !important}

:root{
  --brand:#672074; --brand2:#810086; --brand-soft:#f3e9f5; --brand-line:#e2ccE6;
  --ink:#241a26; --muted:#8a7f8c; --ok:#1a9e5f; --warn:#d9822b; --danger:#d64545;
  --bg:#f6f2f7; --card:#ffffff; --line:#ece4ee;
  --shadow:0 2px 10px rgba(103,32,116,.08);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5;padding-bottom:env(safe-area-inset-bottom)}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input{font-family:inherit;font-size:16px}

.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;background:linear-gradient(100deg,var(--brand),var(--brand2));color:#fff;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px}
.logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.18);font-weight:800;font-size:15px}
.title{font-size:17px;font-weight:700;letter-spacing:.5px}
.admin-gear{color:#fff;opacity:.9;width:38px;height:38px;display:grid;place-items:center;border-radius:10px}
.admin-gear:active{background:rgba(255,255,255,.18)}

.view{display:none;max-width:640px;margin:0 auto;padding:14px 14px 90px}
.view.active{display:block}

.searchbar{display:flex;gap:8px;position:sticky;top:58px;background:var(--bg);padding:8px 0 10px;z-index:10}
.searchbar.mini{position:static;top:auto;padding:6px 0}
.searchbar input{flex:1;padding:12px 14px;border:1px solid var(--brand-line);border-radius:12px;background:#fff}
.searchbar input:focus{outline:none;border-color:var(--brand)}
.btn-primary{background:var(--brand);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;font-size:15px}
.btn-primary:active{background:var(--brand2)}
.btn-primary.block{display:block;width:100%;margin-top:10px}
.btn-primary:disabled{opacity:.5}
.btn-ghost{background:#fff;color:var(--brand);border:1px solid var(--brand-line);padding:12px 18px;border-radius:12px;font-weight:600;font-size:15px}

.hint{color:var(--muted);font-size:13px;margin:2px 2px 8px}
.filterbar{display:flex;align-items:center;gap:8px;margin:0 2px 8px;font-size:13px;color:var(--muted)}
.filterbar select{padding:6px 8px;border:1px solid var(--brand-line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px}

.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.item{background:var(--card);border-radius:14px;padding:14px;box-shadow:var(--shadow);border:1px solid var(--line)}
.item .nm{font-weight:700;font-size:16px;color:var(--ink)}
.item .meta{color:var(--muted);font-size:13px;margin-top:4px}
.item .code{font-size:12px;color:var(--brand);background:var(--brand-soft);padding:2px 8px;border-radius:6px;float:right}
.empty{color:var(--muted);text-align:center;padding:40px 10px}

.back{color:var(--brand);font-size:15px;font-weight:600;padding:8px 0 4px}
.code-banner{display:flex;align-items:center;justify-content:space-between;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.code-banner .lbl{color:var(--brand);font-weight:700;font-size:13px}
.code-banner .val{font-weight:700;letter-spacing:.5px}

.fields{display:flex;flex-direction:column;gap:10px}
.field{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);position:relative}
.field .lbl{font-size:13px;color:var(--muted)}
.field .row{display:flex;align-items:center;gap:10px;margin-top:4px}
.field .val{flex:1;font-size:16px;font-weight:600;word-break:break-all}
.field .val.ph{color:#bbb;font-weight:400}
.field .edit{flex:1;padding:8px 10px;border:1px solid var(--brand);border-radius:8px;font-size:16px}
.field .btn-field{background:#fff;color:var(--brand);border:1px solid var(--brand-line);border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600;white-space:nowrap}
.field.staged{border-color:var(--warn)}
.field.staged .val{color:var(--warn)}
.field .badge{position:absolute;top:10px;right:14px;font-size:11px;color:var(--warn);font-weight:700;display:none}
.field.staged .badge{display:block}
.field .orig{font-size:12px;color:var(--muted);margin-top:3px}
.field-err{display:none;color:var(--danger);font-size:12.5px;margin:2px 2px 0}
.field-err.show{display:block}

.region-card{margin-top:12px}
.rc-head{display:flex;align-items:center;justify-content:space-between}
.rc-head .lbl{font-size:14px;font-weight:600;color:var(--ink)}
.region-card .badge{font-size:11px;color:var(--warn);font-weight:700;display:none}
.region-card.staged{border-color:var(--warn)}
.region-card.staged .badge{display:inline}
.region-card select{width:100%;padding:11px 8px;border:1px solid var(--brand-line);border-radius:10px;background:#fff;font-size:15px;color:var(--ink)}

.footer-bar{position:fixed;left:0;right:0;bottom:0;max-width:640px;margin:0 auto;display:flex;gap:12px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(246,242,247,.92);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.footer-bar button{flex:1}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);margin-bottom:12px}
.card h3{margin:0 0 8px;font-size:16px}
.card input{width:100%;padding:12px;border:1px solid var(--brand-line);border-radius:10px;margin-top:8px}
.muted{color:var(--muted)}.small{font-size:12px}
.hidden{display:none!important}

.tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:5px;margin-bottom:12px}
.tab{flex:1;padding:9px;border-radius:9px;font-size:14px;color:var(--muted);font-weight:600}
.tab.active{background:var(--brand);color:#fff}
.tabpanel{display:none}.tabpanel.active{display:block}

.logs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.log{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}
.log .t{color:var(--muted);font-size:12px}
.log .diff{margin-top:4px}
.log .old{color:var(--danger);text-decoration:line-through}
.log .new{color:var(--ok);font-weight:600}
.log .arw{color:var(--muted);margin:0 6px}
.log .who{background:var(--brand-soft);color:var(--brand);border-radius:6px;padding:1px 7px;font-size:12px;margin-left:6px}

.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:#2b2029;color:#fff;padding:11px 18px;border-radius:24px;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:50;max-width:86vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.err{background:#7c1d2b}
.toast.warn{background:#8a5a12}

.mask{position:fixed;inset:0;background:rgba(20,10,22,.45);display:grid;place-items:center;z-index:40;padding:20px}
.modal{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:360px}
.modal h4{margin:0 0 6px}
.modal input{width:100%;padding:12px;border:1px solid var(--brand-line);border-radius:10px;margin:10px 0}
.mrow{display:flex;gap:10px}.mrow button{flex:1}

table.prev{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}
table.prev th,table.prev td{border:1px solid var(--line);padding:5px 6px;text-align:left;white-space:nowrap}
table.prev th{background:var(--brand-soft);color:var(--brand);position:sticky;top:0}
.prevwrap{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:8px}

.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:8px 0}
.grid3 select{width:100%;padding:11px 8px;border:1px solid var(--brand-line);border-radius:10px;background:#fff;font-size:14px;color:var(--ink)}
.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.pager button{padding:8px 14px;font-size:14px}
.pager button:disabled{opacity:.4}
.report{margin-top:10px;font-size:13px}
.report .kpi{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.report .pill{padding:6px 12px;border-radius:20px;font-weight:600}
.report .ins{background:#e7f6ee;color:var(--ok)}
.report .upd{background:#fbf0e2;color:var(--warn)}
.report .sm{background:#eef0f2;color:var(--muted)}
.report h5{margin:10px 0 4px;font-size:13px;color:var(--brand)}
.chg{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px}
.chg .h{font-weight:600}
.chg .d{font-size:12px;color:var(--muted);margin-top:3px}
.chg .old{color:var(--danger);text-decoration:line-through}
.chg .new{color:var(--ok)}

.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:linear-gradient(150deg,var(--brand),var(--brand2))}
.gate.hidden{display:none}
.gate-card{background:#fff;border-radius:20px;padding:30px 24px;width:100%;max-width:340px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.2)}
.gate-logo{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--brand);color:#fff;font-weight:800;font-size:22px;margin-bottom:12px}
.gate-card h1{margin:0 0 2px;font-size:20px;color:var(--ink)}
.gate-card p{margin:2px 0 14px}
.gate-card input{width:100%;padding:13px 14px;border:1px solid var(--brand-line);border-radius:12px;font-size:16px;text-align:center}
.gate-card input:focus{outline:none;border-color:var(--brand)}
.gate-err{color:var(--danger);font-size:13px;min-height:18px;margin:6px 0 0}

.guide-btn{display:inline-flex;align-items:center;gap:4px;color:var(--brand);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600}
.guide-btn:active{background:#ead9ee}
.guide-mask{position:fixed;inset:0;z-index:60;background:rgba(20,10,22,.5);display:flex;align-items:flex-end;justify-content:center}
.guide-mask.hidden{display:none}
.guide-sheet{background:#fff;width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;border-radius:18px 18px 0 0}
.guide-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.guide-hd b{font-size:16px;color:var(--ink)}
.guide-hd button{font-size:26px;line-height:1;color:var(--muted);width:32px;height:32px;border-radius:8px}
.guide-body{overflow-y:auto;padding:12px 18px;-webkit-overflow-scrolling:touch}
.gstep{display:grid;grid-template-columns:26px 92px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}
.gstep:last-child{border-bottom:0}
.gno{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:14px;display:grid;place-items:center}
.gart{width:92px;height:68px;display:block}
.gtx{font-size:13.5px;color:var(--ink);line-height:1.5}
.gtx b{display:block;color:var(--brand);font-size:14px;margin-bottom:2px}
.guide-sheet .btn-primary.block{margin:10px 18px 18px}

