/* 彩虹画风 · 交付骨架样式层
   底层沿用 premium.css 的暖白/炭灰，这一层只叠加彩虹色与圆润形态。 */
:root{
 --rb-1:#e8896b;--rb-2:#e8c06b;--rb-3:#9bc4a8;--rb-4:#8fa8d8;--rb-5:#b79fd8;
 --rb-1-l:#fdf1ec;--rb-2-l:#fdf7e9;--rb-3-l:#eef6f1;--rb-4-l:#eef2fa;--rb-5-l:#f4f0fa;
 --rb-line:#ece4d9;--rb-ink:#3b3630;--rb-ink2:#6b645b;--rb-ink3:#9a9287;
 --rb-radius:14px;--rb-shadow:0 6px 22px #4a3b2a0e;
}
/* ── 小助手 ── */
.hg-assist{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.hg-assist>*{pointer-events:auto}
.hg-assist-hidden{display:none}
.hg-mascot{width:64px;height:64px;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;filter:drop-shadow(0 6px 14px #4a3b2a22);transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.hg-mascot:hover{transform:translateY(-4px) rotate(-4deg)}
.hg-mascot:active{transform:scale(.94)}
.hg-mascot svg{animation:hg-float 3.4s ease-in-out infinite}
@keyframes hg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.hg-bubble{max-width:288px;background:var(--surface,#fffdfa);border:1px solid var(--rb-line);border-radius:16px 16px 4px 16px;padding:14px 34px 14px 16px;box-shadow:var(--rb-shadow);position:relative;opacity:0;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity .26s,transform .26s}
.hg-bubble.show{opacity:1;transform:none;pointer-events:auto}
.hg-bubble-text{margin:0;font-size:12.5px;line-height:1.75;color:var(--rb-ink2)}
.hg-bubble:before{content:'';position:absolute;left:0;top:0;width:4px;height:100%;border-radius:16px 0 0 16px;background:linear-gradient(180deg,var(--rb-1),var(--rb-2),var(--rb-3),var(--rb-4))}
.hg-bubble-close{position:absolute;top:7px;right:8px;width:20px;height:20px;min-height:0;padding:0;border:0;background:transparent;color:var(--rb-ink3);font-size:11px;border-radius:50%}
.hg-bubble-close:hover{background:var(--rb-1-l);color:var(--rb-1)}
@media(max-width:850px){.hg-assist{right:12px;bottom:76px}.hg-bubble{max-width:230px}}
@media(prefers-reduced-motion:reduce){.hg-mascot svg{animation:none}}

/* ── 彩虹标签页（页内二级导航） ── */
.rb-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;background:#f6f1e9;border-radius:12px;margin-bottom:18px}
.rb-tab{border:0;background:transparent;color:var(--rb-ink2);font-size:12.5px;padding:9px 18px;border-radius:9px;min-height:0}
.rb-tab:hover{background:#fffdfa;color:var(--rb-ink)}
.rb-tab.active{background:var(--surface,#fffdfa);color:var(--rb-ink);font-weight:600;box-shadow:0 2px 8px #4a3b2a12}
.rb-tab.active:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:1px;background:linear-gradient(135deg,var(--rb-1),var(--rb-4))}

/* ── 通用卡片与标签 ── */
.rb-card{background:var(--surface,#fffdfa);border:1px solid var(--rb-line);border-radius:var(--rb-radius);box-shadow:var(--rb-shadow)}
.rb-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:3px 10px;border-radius:20px;background:#f6f1e9;color:var(--rb-ink2);white-space:nowrap;border:1px solid transparent}
.rb-chip.c1{background:var(--rb-1-l);color:#b4553a}
.rb-chip.c2{background:var(--rb-2-l);color:#96702a;border-color:#f0e0bb}
.rb-chip.c3{background:var(--rb-3-l);color:#3f7a5e}
.rb-chip.c4{background:var(--rb-4-l);color:#4a6a9e}
.rb-chip.c5{background:var(--rb-5-l);color:#7a5fa8}
.rb-chip.ghost{background:transparent;border-color:var(--rb-line);color:var(--rb-ink3)}

/* ── 交付矩阵表 ── */
.rb-dash{display:grid;gap:16px}
.rb-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rb-stat{padding:15px 17px;border-radius:var(--rb-radius);background:var(--surface,#fffdfa);border:1px solid var(--rb-line);position:relative;overflow:hidden}
.rb-stat:before{content:'';position:absolute;left:0;top:0;height:3px;width:100%}
.rb-stat.k1:before{background:var(--rb-1)}.rb-stat.k2:before{background:var(--rb-2)}
.rb-stat.k3:before{background:var(--rb-3)}.rb-stat.k4:before{background:var(--rb-4)}
.rb-stat b{display:block;font-size:25px;font-weight:600;letter-spacing:-.02em;line-height:1.2;font-variant-numeric:tabular-nums}
.rb-stat span{font-size:11.5px;color:var(--rb-ink3)}
.rb-stat em{font-size:11px;font-style:normal;color:var(--rb-ink2);display:block;margin-top:3px}

.rb-matrixwrap{overflow:auto;border:1px solid var(--rb-line);border-radius:var(--rb-radius);background:var(--surface,#fffdfa);box-shadow:var(--rb-shadow)}
table.rb-matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;margin:0}
table.rb-matrix th,table.rb-matrix td{padding:9px 10px;border-bottom:1px solid #f2ece2;white-space:nowrap}
table.rb-matrix thead th{position:sticky;top:0;background:#faf6ef;z-index:2;font-size:11.5px;color:var(--rb-ink2);text-align:center;font-weight:600}
table.rb-matrix thead th:first-child,table.rb-matrix tbody td:first-child{position:sticky;left:0;background:#faf6ef;text-align:left;z-index:1}
table.rb-matrix tbody td:first-child{font-weight:600;color:var(--rb-ink);max-width:230px}
table.rb-matrix tbody tr:hover td{background:#fdfaf5}
table.rb-matrix tbody tr:hover td:first-child{background:#f6f1e9}
.rb-cell{display:inline-flex;min-width:38px;justify-content:center;align-items:center;gap:4px;font-size:11.5px;font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:8px}
.rb-cell.full{background:var(--rb-3-l);color:#3f7a5e;font-weight:600}
.rb-cell.part{background:var(--rb-2-l);color:#96702a}
.rb-cell.none{background:#f4f1ec;color:var(--rb-ink3)}
.rb-celldot{width:6px;height:6px;border-radius:50%;display:inline-block}
.rb-cell.full .rb-celldot{background:#5da87f}.rb-cell.part .rb-celldot{background:#d8a63f}.rb-cell.none .rb-celldot{background:#c9c2b6}
.rb-bar{height:6px;border-radius:6px;background:#f0eae1;overflow:hidden;min-width:64px}
.rb-bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--rb-3),var(--rb-4));transition:width .4s}
.rb-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--rb-ink3);margin-top:10px}
.rb-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}

/* ── 筛选栏 ── */
.rb-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--rb-line);border-radius:var(--rb-radius);background:var(--surface,#fffdfa);margin-bottom:16px}
.rb-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--rb-ink3)}
.rb-filters select,.rb-filters input{width:auto;font-size:12px;padding:8px 11px;border-radius:9px}
.rb-filters input.rb-search{min-width:210px}

/* ── 标签面板 ── */
.rb-tagpanel{display:grid;gap:11px;padding:15px 17px;border:1px solid var(--rb-line);border-radius:var(--rb-radius);background:var(--surface,#fffdfa)}
.rb-tagrow{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:start}
.rb-tagrow>span{font-size:11.5px;color:var(--rb-ink3);padding-top:5px}
.rb-tagopts{display:flex;gap:6px;flex-wrap:wrap}
.rb-tagopt{border:1px solid var(--rb-line);background:#fffdfa;color:var(--rb-ink2);font-size:11.5px;padding:5px 12px;border-radius:20px;min-height:0}
.rb-tagopt:hover{border-color:var(--rb-5);color:var(--rb-ink)}
.rb-tagopt.on{background:linear-gradient(135deg,var(--rb-5-l),var(--rb-1-l));border-color:var(--rb-5);color:#6b5292;font-weight:600}

/* ── 交付勾选弹窗 ── */
.rb-dialog{width:min(920px,95vw);max-height:90dvh;overflow:auto;background:var(--surface,#fffdfa);color:var(--rb-ink);border:1px solid var(--rb-line);border-radius:18px;padding:22px 26px;box-shadow:0 20px 60px #4a3b2a26}
.rb-dialog::backdrop{background:#2b2620b8;backdrop-filter:blur(6px)}
.rb-dialog h2{font-size:19px;margin:0 0 4px}
.rb-dialog .helper{margin-top:0}
.rb-pgrid{display:grid;gap:14px;margin-top:16px}
.rb-pblock{border:1px solid var(--rb-line);border-radius:12px;padding:13px 15px}
.rb-pblock header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.rb-pblock h3{font-size:13.5px;margin:0;font-weight:600}
.rb-pblock .rb-prog{font-size:11px;color:var(--rb-ink3);font-variant-numeric:tabular-nums}
.rb-toggles{display:flex;gap:7px;flex-wrap:wrap}
.rb-toggle{border:1px solid var(--rb-line);background:#fffdfa;color:var(--rb-ink2);font-size:11.5px;padding:6px 13px;border-radius:9px;min-height:0}
.rb-toggle.on{background:var(--rb-3-l);border-color:#8fbfa6;color:#35705a;font-weight:600}
.rb-toggle.on:before{content:'✓ ';font-weight:700}
