/* 温州制造业政策情报台 — 浅色商务风 */

:root{
  --bg:#f4f6f9;
  --card:#ffffff;
  --ink:#14181f;
  --ink2:#4e5765;
  --ink3:#8a93a1;
  --line:#e2e6ec;
  --line2:#eef1f5;
  --blue:#1d4ed8;
  --blue-d:#15329b;
  --blue-l:#eaf0ff;
  --red:#cc2222;
  --red-l:#fdeeee;
  --amber:#b45309;
  --amber-l:#fef6e7;
  --green:#12734a;
  --green-l:#e9f7f0;
  --purple:#6b28c4;
  --purple-l:#f2ecfe;
  --shadow:0 1px 2px rgba(16,24,40,.05), 0 4px 14px rgba(16,24,40,.05);
  --shadow-lg:0 2px 6px rgba(16,24,40,.07), 0 14px 36px rgba(16,24,40,.09);
}

*{box-sizing:border-box;margin:0;padding:0}

html{-webkit-text-size-adjust:100%}

body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:14px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* ============ 顶栏 ============ */
.topbar{
  background:#fff;
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.topbar-inner{
  max-width:1240px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{
  width:38px;height:38px;border-radius:9px;flex:0 0 auto;
  background:linear-gradient(135deg,#1d4ed8,#3b82f6);
  color:#fff;display:grid;place-items:center;
  font-size:19px;font-weight:700;letter-spacing:1px;
  box-shadow:0 3px 10px rgba(29,78,216,.28);
}
.brand-text h1{font-size:17px;font-weight:700;letter-spacing:.3px;line-height:1.3}
.brand-text p{font-size:12px;color:var(--ink3);letter-spacing:.4px;margin-top:1px}
.topbar-meta{display:flex;gap:22px}
.meta-item{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.meta-k{font-size:11px;color:var(--ink3);letter-spacing:.5px}
.meta-v{font-size:16px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}

/* ============ 标签导航 ============ */
.tabs{
  background:#fff;border-bottom:1px solid var(--line);
  max-width:1240px;margin:0 auto;padding:0 24px;
  display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;
  position:sticky;top:67px;z-index:49;
}
.tabs::-webkit-scrollbar{display:none}
.tab{
  background:none;border:none;cursor:pointer;
  padding:12px 15px 11px;font-size:14px;color:var(--ink2);
  font-family:inherit;white-space:nowrap;
  border-bottom:2.5px solid transparent;
  transition:color .15s,border-color .15s;
  display:flex;align-items:center;gap:6px;
}
.tab:hover{color:var(--blue)}
.tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.tab-badge{
  background:var(--red);color:#fff;font-size:10.5px;font-weight:700;
  min-width:17px;height:17px;border-radius:9px;padding:0 5px;
  display:inline-grid;place-items:center;font-variant-numeric:tabular-nums;
}

/* ============ 容器 ============ */
.wrap{max-width:1240px;margin:0 auto;padding:24px 24px 60px}
.panel{display:none;animation:fade .22s ease}
.panel.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.panel-head{margin-bottom:18px}
.panel-head h2{font-size:21px;font-weight:700;letter-spacing:.2px}
.panel-head p{font-size:13px;color:var(--ink2);margin-top:5px;max-width:760px}

.sec-head{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  margin:34px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line);
}
.sec-head h2{font-size:16px;font-weight:700;letter-spacing:.2px}
.sec-sub{font-size:12.5px;color:var(--ink3)}

.notice{
  background:var(--blue-l);border:1px solid #cfdcff;border-left:3px solid var(--blue);
  border-radius:7px;padding:11px 15px;font-size:13px;color:#22357a;
  margin-bottom:22px;line-height:1.7;
}
.notice strong{color:var(--blue-d);margin-right:8px}

/* ============ 统计卡 ============ */
.stat-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));
  gap:13px;margin-bottom:6px;
}
.stat{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:15px 17px;box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.stat::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);
}
.stat.s-red::before{background:var(--red)}
.stat.s-green::before{background:var(--green)}
.stat.s-amber::before{background:var(--amber)}
.stat.s-purple::before{background:var(--purple)}
.stat-k{font-size:12px;color:var(--ink3);letter-spacing:.4px;margin-bottom:5px}
.stat-v{font-size:26px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.2}
.stat-u{font-size:12.5px;font-weight:500;color:var(--ink3);margin-left:3px}
.stat-d{font-size:11.5px;color:var(--ink3);margin-top:4px;line-height:1.5}

/* ============ 窗口期 ============ */
.win-list{display:grid;gap:11px}
.win{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:14px 17px;box-shadow:var(--shadow);
  display:flex;gap:16px;align-items:flex-start;
}
.win-state{
  flex:0 0 auto;width:64px;text-align:center;
  padding:7px 0;border-radius:7px;font-size:11.5px;font-weight:700;letter-spacing:.5px;
}
.st-open{background:var(--green-l);color:var(--green)}
.st-soon{background:var(--amber-l);color:var(--amber)}
.st-closed{background:#f1f3f6;color:var(--ink3)}
.win-body{flex:1;min-width:0}
.win-title{font-size:14.5px;font-weight:650;line-height:1.45}
.win-title .badge{margin-left:7px}
.win-meta{font-size:12.5px;color:var(--ink2);margin-top:4px}
.win-meta b{color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}
.win-note{font-size:12.5px;color:var(--red);margin-top:4px;font-weight:500}
.win-note.ok{color:var(--ink2);font-weight:400}
.win-side{flex:0 0 auto;text-align:right;font-size:12px;color:var(--ink3)}
.win-side a{color:var(--blue);text-decoration:none}
.win-side a:hover{text-decoration:underline}

/* ============ 时间链 ============ */
.timeline{position:relative;padding-left:26px}
.timeline::before{
  content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--blue),#c7d5f7);
  border-radius:1px;
}
.tl-item{position:relative;padding:0 0 17px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;left:-24px;top:5px;
  width:11px;height:11px;border-radius:50%;
  background:#fff;border:2.5px solid var(--blue);
}
.tl-stage{font-size:13.5px;font-weight:650}
.tl-date{
  font-size:12.5px;color:var(--red);font-weight:650;margin-top:2px;
  font-variant-numeric:tabular-nums;
}
.tl-note{font-size:12.5px;color:var(--ink3);margin-top:2px}

/* ============ 卡片网格 ============ */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:13px}
.mini{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:15px 17px;box-shadow:var(--shadow);
  border-top:3px solid var(--blue);
}
.mini.t-red{border-top-color:var(--red)}
.mini.t-purple{border-top-color:var(--purple)}
.mini.t-green{border-top-color:var(--green)}
.mini.t-amber{border-top-color:var(--amber)}
.mini-h{font-size:14.5px;font-weight:650;line-height:1.45;margin-bottom:7px}
.mini-money{
  font-size:13px;font-weight:650;color:var(--red);
  background:var(--red-l);border-radius:5px;padding:5px 9px;margin-bottom:8px;
  line-height:1.55;
}
.mini-p{font-size:12.5px;color:var(--ink2);line-height:1.65}

/* ============ 筛选器 ============ */
.filters{
  display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;
  margin-bottom:16px;padding:13px 15px;
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow);
}
.search{
  flex:1 1 260px;min-width:200px;
  border:1px solid var(--line);border-radius:7px;
  padding:8px 12px;font-size:13.5px;font-family:inherit;
  background:#fbfcfd;color:var(--ink);outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.11);background:#fff}
.search::placeholder{color:var(--ink3)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{
  cursor:pointer;font-family:inherit;font-size:12.5px;
  border:1px solid var(--line);background:#fbfcfd;color:var(--ink2);
  border-radius:20px;padding:4.5px 12px;transition:all .13s;white-space:nowrap;
}
.chip:hover{border-color:#b9c8e8;color:var(--blue)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.chip .n{opacity:.65;margin-left:4px;font-size:11.5px}

/* ============ 政策卡 ============ */
.pol-list{display:grid;gap:12px}
.pol{
  background:var(--card);border:1px solid var(--line);border-radius:11px;
  box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .16s;
}
.pol:hover{box-shadow:var(--shadow-lg)}
.pol-hd{
  padding:16px 18px;cursor:pointer;
  display:flex;gap:13px;align-items:flex-start;
}
.pol-hd:hover{background:#fbfcfe}
.pol-flag{
  flex:0 0 auto;width:36px;height:36px;border-radius:8px;
  display:grid;place-items:center;font-size:12px;font-weight:700;
  letter-spacing:.3px;line-height:1.15;text-align:center;
}
.f-city{background:var(--blue-l);color:var(--blue)}
.f-dist{background:var(--purple-l);color:var(--purple)}
.pol-main{flex:1;min-width:0}
.pol-t{font-size:15px;font-weight:650;line-height:1.5}
.pol-sub{font-size:12.5px;color:var(--ink3);margin-top:4px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.pol-sub .dot{color:#cfd5de}
.pol-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}

/* 折叠态金额锚点 */
.pol-money{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  margin-top:7px;font-size:13px;font-weight:650;color:var(--red);
  font-variant-numeric:tabular-nums;line-height:1.5;
}
.pm-k{
  font-size:10.5px;font-weight:700;color:#fff;background:var(--red);
  border-radius:3px;padding:1px 5px;letter-spacing:.4px;flex:0 0 auto;
  position:relative;top:-1px;
}
.pm-i{font-size:11.5px;font-weight:400;color:var(--ink3)}
.tag{white-space:nowrap;
  font-size:11px;padding:2px 7px;border-radius:4px;
  background:#f2f4f7;color:var(--ink2);letter-spacing:.2px;
}
.tag.hot{background:var(--red-l);color:var(--red);font-weight:600}
.tag.star{background:#fff8e1;color:#8a5a00;font-weight:600}
.tag.warn{background:var(--amber-l);color:var(--amber);font-weight:600}
.tag.ok{background:var(--green-l);color:var(--green);font-weight:600}
.pol-toggle{flex:0 0 auto;color:var(--ink3);font-size:18px;line-height:1;padding-top:3px;transition:transform .18s}
.pol.open .pol-toggle{transform:rotate(180deg)}

.pol-bd{display:none;border-top:1px solid var(--line2);padding:0 18px 18px}
.pol.open .pol-bd{display:block}
.pol-sum{
  font-size:13px;color:var(--ink2);line-height:1.75;
  padding:13px 0;border-bottom:1px dashed var(--line2);
}

.blk{margin-top:15px}
.blk-h{
  font-size:12px;font-weight:700;color:var(--blue-d);letter-spacing:.6px;
  margin-bottom:8px;display:flex;align-items:center;gap:6px;
}
.blk-h::before{content:"";width:3px;height:12px;background:var(--blue);border-radius:2px}

.money-table{width:100%;border-collapse:collapse;font-size:12.8px}
.money-table tr{border-bottom:1px solid var(--line2)}
.money-table tr:last-child{border-bottom:none}
.money-table td{padding:7px 8px;vertical-align:top}
.money-table td:first-child{color:var(--ink2);width:44%}
.money-table td:nth-child(2){color:var(--red);font-weight:650;width:30%}
.money-table td:last-child{color:var(--ink3);font-size:12px}

.ul{list-style:none;display:grid;gap:5px}
.ul li{
  font-size:12.8px;color:var(--ink2);line-height:1.65;
  padding-left:16px;position:relative;
}
.ul li::before{
  content:"";position:absolute;left:4px;top:8px;
  width:4.5px;height:4.5px;border-radius:50%;background:#b9c2d0;
}
.ul.deny li::before{background:var(--red);border-radius:1px;width:6px;height:2px;top:10px}
.ul.deny li{color:#8c2c2c}
.ul.change li::before{background:var(--amber)}

.ipbox{
  background:var(--purple-l);border:1px solid #e0d2fb;border-radius:8px;
  padding:12px 14px;font-size:12.8px;color:#40206e;line-height:1.75;
}
.ipbox .k{
  display:inline-block;font-size:11px;font-weight:700;color:var(--purple);
  background:#fff;border-radius:4px;padding:1px 7px;margin-right:7px;
  letter-spacing:.3px;
}

.tl-box{padding-left:20px;position:relative}
.tl-box::before{content:"";position:absolute;left:5px;top:5px;bottom:5px;width:1.5px;background:#d8e0f0}
.tlr{position:relative;padding-bottom:9px;font-size:12.8px}
.tlr:last-child{padding-bottom:0}
.tlr::before{
  content:"";position:absolute;left:-18px;top:6px;width:8px;height:8px;
  border-radius:50%;background:#fff;border:2px solid var(--blue);
}
.tlr b{color:var(--ink);font-weight:650}
.tlr .d{color:var(--red);font-weight:650;margin-left:6px;font-variant-numeric:tabular-nums}
.tlr .n{color:var(--ink3);font-size:12px;margin-left:6px}

.pol-foot{
  margin-top:16px;padding-top:13px;border-top:1px solid var(--line2);
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
}
.btn{
  display:inline-block;font-size:12.5px;font-weight:600;
  color:var(--blue);background:var(--blue-l);
  border:1px solid #cfdcff;border-radius:6px;
  padding:5px 13px;text-decoration:none;transition:all .13s;
}
.btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.contacts{font-size:12px;color:var(--ink3);line-height:1.8}

/* ============ 名单元信息 ============ */
.listmeta{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:11px;margin-bottom:18px}
.lm{
  background:var(--card);border:1px solid var(--line);border-radius:9px;
  padding:12px 14px;box-shadow:var(--shadow);border-left:3px solid var(--blue);
}
.lm.lv5{border-left-color:var(--red)}
.lm.lv4{border-left-color:var(--amber)}
.lm-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.lm-t{font-size:13.5px;font-weight:650}
.lm-n{font-size:13px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}
.lm-meta{font-size:11.5px;color:var(--ink3);margin-top:2px}
.lm-note{font-size:12.3px;color:var(--ink2);margin-top:6px;line-height:1.6}

/* ============ 表格 ============ */
.tablewrap{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;box-shadow:var(--shadow);
}
.datatable{width:100%;border-collapse:collapse;font-size:13px}
.datatable thead th{
  background:#f8fafc;text-align:left;font-weight:650;font-size:12px;
  color:var(--ink2);letter-spacing:.4px;padding:10px 13px;
  border-bottom:1px solid var(--line);white-space:nowrap;
  position:sticky;top:0;z-index:2;
}
.datatable tbody td{padding:9px 13px;border-bottom:1px solid var(--line2);vertical-align:top}
.datatable tbody tr:last-child td{border-bottom:none}
.datatable tbody tr:hover{background:#fafbfd}
.datatable .nm{font-weight:550}
.datatable .num{font-variant-numeric:tabular-nums;text-align:right;color:var(--red);font-weight:650}
.datatable .note{font-size:12px;color:var(--ink3)}
.rtag{
  display:inline-block;font-size:11.5px;padding:1.5px 7px;border-radius:4px;
  background:#f2f4f7;color:var(--ink2);white-space:nowrap;
}
.tablefoot{
  padding:10px 15px;font-size:12.5px;color:var(--ink3);
  background:var(--card);border:1px solid var(--line);border-top:none;
  border-radius:0 0 10px 10px;
}

/* ============ 知产钩子 ============ */
.ip-list{display:grid;gap:13px}
.ipcard{
  background:var(--card);border:1px solid var(--line);border-radius:11px;
  box-shadow:var(--shadow);overflow:hidden;
}
.ipcard.lv-王牌{border-left:4px solid var(--red)}
.ipcard.lv-高{border-left:4px solid var(--amber)}
.ipcard.lv-中{border-left:4px solid var(--blue)}
.ipcard.lv-低{border-left:4px solid var(--ink3)}
.ip-hd{padding:16px 18px;cursor:pointer;display:flex;gap:13px;align-items:flex-start}
.ip-hd:hover{background:#fbfcfe}
.ip-lv{
  flex:0 0 auto;font-size:11px;font-weight:700;padding:3px 9px;border-radius:5px;
  letter-spacing:.5px;height:fit-content;
}
.lvb-王牌{background:var(--red);color:#fff}
.lvb-高{background:#fff;color:var(--amber);border:1.5px solid var(--amber)}
.lvb-中{background:var(--blue-l);color:var(--blue)}
.lvb-低{background:#f1f3f6;color:var(--ink3)}
.ip-main{flex:1;min-width:0}
.ip-t{font-size:15px;font-weight:650;line-height:1.5}
.ip-ref{font-size:12px;color:var(--ink3);margin-top:4px}
.ip-bd{display:none;border-top:1px solid var(--line2);padding:0 18px 18px}
.ipcard.open .ip-bd{display:block}

.quote{
  background:#fafbfd;border-left:3px solid #c3cede;border-radius:0 6px 6px 0;
  padding:11px 14px;font-size:12.8px;color:var(--ink2);line-height:1.8;
  margin-top:13px;
}
.money-strip{
  background:var(--red-l);border:1px solid #f7d4d4;border-radius:7px;
  padding:9px 13px;font-size:13px;color:#a11b1b;font-weight:650;
  margin-top:11px;line-height:1.6;
}
.pain{
  background:var(--amber-l);border:1px solid #fae3b8;border-radius:7px;
  padding:9px 13px;font-size:12.8px;color:#7c4a06;margin-top:11px;line-height:1.7;
}
.script{
  background:#f0f7ff;border:1px solid #d3e4fb;border-radius:8px;
  padding:13px 15px;margin-top:11px;
}
.script-h{font-size:11.5px;font-weight:700;color:var(--blue-d);letter-spacing:.6px;margin-bottom:8px}
.script ol{list-style:none;counter-reset:s;display:grid;gap:7px}
.script li{
  counter-increment:s;position:relative;padding-left:22px;
  font-size:13px;color:#1a2a4a;line-height:1.75;
}
.script li::before{
  content:counter(s);position:absolute;left:0;top:3px;
  width:15px;height:15px;border-radius:50%;background:var(--blue);color:#fff;
  font-size:9.5px;font-weight:700;display:grid;place-items:center;
}
.obj{
  background:#fff8f8;border:1px solid #f8dcdc;border-radius:8px;
  padding:12px 15px;margin-top:11px;font-size:12.8px;line-height:1.75;
}
.obj-h{font-size:11.5px;font-weight:700;color:var(--red);letter-spacing:.5px;margin-bottom:6px}
.obj .q{color:#8c2c2c;font-weight:600;margin-bottom:4px}
.obj .a{color:var(--ink2)}

/* ============ 数据源 ============ */
.src-list{display:grid;gap:9px}
.src{
  background:var(--card);border:1px solid var(--line);border-radius:9px;
  padding:13px 16px;box-shadow:var(--shadow);
  display:flex;gap:14px;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;
}
.src-l{flex:1;min-width:260px}
.src-n{font-size:14px;font-weight:650}
.src-n a{color:var(--ink);text-decoration:none}
.src-n a:hover{color:var(--blue);text-decoration:underline}
.src-u{font-size:11.5px;color:var(--ink3);margin-top:2px;word-break:break-all;font-family:ui-monospace,Consolas,monospace}
.src-use{font-size:12.5px;color:var(--ink2);margin-top:6px;line-height:1.65}
.src-tip{font-size:12.5px;color:var(--amber);margin-top:6px;line-height:1.65}
.src-r{flex:0 0 auto}
.freq{
  font-size:11.5px;font-weight:650;background:var(--blue-l);color:var(--blue);
  border-radius:5px;padding:3px 9px;white-space:nowrap;
}

.twocol{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.box{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:16px 18px;box-shadow:var(--shadow);
}
.box h3{font-size:14px;font-weight:650;margin-bottom:11px}
.steps{
  padding-left:19px;display:grid;gap:6px;
  font-size:12.8px;color:var(--ink2);line-height:1.7;
}
.steps li::marker{color:var(--blue);font-weight:700}

.ds{font-size:12.6px;padding:8px 0;border-bottom:1px dashed var(--line2);line-height:1.7}
.ds:last-child{border-bottom:none}
.ds-n{font-weight:650;color:var(--ink)}
.ds-i{
  font-size:11px;font-family:ui-monospace,Consolas,monospace;
  background:#f2f4f7;color:var(--ink2);border-radius:3px;padding:1px 5px;margin-left:5px;
}
.ds-f{color:var(--ink3);font-size:12px;display:block;margin-top:2px}
.ds-v{color:var(--red);font-weight:600;font-size:11.5px}

/* ============ 页脚 ============ */
.foot{
  max-width:1240px;margin:0 auto;padding:24px 24px 40px;
  border-top:1px solid var(--line);text-align:center;
  font-size:12px;color:var(--ink3);line-height:1.9;
}
.foot-warn{color:#a8b0bd}

/* ============ 空状态 ============ */
.empty{
  padding:44px 20px;text-align:center;color:var(--ink3);font-size:13.5px;
  background:var(--card);border:1px dashed var(--line);border-radius:10px;
}

/* ============ 响应式 ============ */
@media (max-width:860px){
  .topbar-inner{padding:12px 16px}
  .topbar-meta{gap:14px}
  .meta-v{font-size:14px}
  .tabs{padding:0 12px;top:0;position:relative}
  .wrap{padding:18px 14px 50px}
  .twocol{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}
  .stat-v{font-size:22px}
  .win{flex-direction:column;gap:9px}
  .win-state{width:auto;padding:3px 11px;align-self:flex-start}
  .datatable{font-size:12.3px}
  .datatable thead th,.datatable tbody td{padding:8px 9px}
}

/* ============ 奖补兑现台账 ============ */
.rw-meta{margin-bottom:18px}
.rwm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.rwm{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;box-shadow:var(--shadow);
}
.rwm b{display:block;font-size:22px;font-weight:750;letter-spacing:-.5px;color:var(--blue-d);font-variant-numeric:tabular-nums;line-height:1.2}
.rwm span{display:block;font-size:11.5px;color:var(--ink3);margin-top:3px;letter-spacing:.3px}
.rwm-src{margin-top:9px;font-size:11.5px;color:var(--ink3);line-height:1.7}
.rwm-src a{color:var(--blue);text-decoration:none}
.rwm-src a:hover{text-decoration:underline}

.rw-search{
  background:#fff;border:1px solid var(--line);border-radius:11px;
  padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow);
}
.search-lg{width:100%;padding:11px 14px;font-size:14px;border-radius:9px}
.rw-search .search{margin-bottom:10px}
.rw-search .chips{margin-top:7px}

.rw-views{display:flex;gap:0;margin-bottom:12px;border:1px solid var(--line);border-radius:9px;overflow:hidden;width:fit-content;background:#fff}
.rw-views .vw{
  border:none;background:#fff;padding:8px 20px;font-size:13px;color:var(--ink2);
  cursor:pointer;font-family:inherit;border-right:1px solid var(--line);transition:.15s;
}
.rw-views .vw:last-child{border-right:none}
.rw-views .vw:hover{background:#f7f9fc;color:var(--blue)}
.rw-views .vw.active{background:var(--blue);color:#fff;font-weight:600}

.datatable .num.strong{font-size:14px;font-weight:750;color:var(--red)}
.datatable tbody tr.rw-row{cursor:pointer}
.datatable tbody tr.rw-row:hover{background:var(--blue-l)}

.ptags{display:flex;gap:4px;flex-wrap:wrap;max-width:520px}
.ptag{
  display:inline-block;font-size:11px;line-height:1.5;padding:1px 7px;border-radius:4px;
  background:#f1f4f9;color:var(--ink2);border:1px solid #e6ebf2;white-space:nowrap;
}
.ptag.more{background:var(--blue-l);color:var(--blue);border-color:#cfdcfb;font-weight:600}
.area-in{font-size:11px;color:var(--ink3);margin-left:7px;font-weight:400}
.ctag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:4px;font-weight:600;white-space:nowrap}
.ctag.c1{background:var(--purple-l);color:var(--purple)}
.ctag.c2{background:var(--blue-l);color:var(--blue-d)}
.ctag.c3{background:var(--amber-l);color:var(--amber)}
.ctag.c4{background:var(--green-l);color:var(--green)}
.ctag.c5{background:#e8f4fb;color:#0d5c87}
.ctag.c6{background:#eef7ea;color:#2d6b1f}
.ctag.c0{background:#f1f4f9;color:var(--ink3)}

.pager{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:10px}
.pager button{
  border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 14px;
  font-size:12.5px;color:var(--ink2);cursor:pointer;font-family:inherit;transition:.15s;
}
.pager button:hover:not(:disabled){border-color:#b9c8e8;color:var(--blue)}
.pager button:disabled{opacity:.4;cursor:not-allowed}
.pager span{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}

/* 企业兑现履历弹层 */
.drawer-mask{
  position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:200;
  display:flex;justify-content:flex-end;animation:fadeIn .16s ease;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.drawer{
  background:#fff;width:min(680px,94vw);height:100%;overflow-y:auto;
  box-shadow:-8px 0 40px rgba(16,24,40,.18);animation:slideIn .2s ease;
}
@keyframes slideIn{from{transform:translateX(30px)}to{transform:translateX(0)}}
.drw-h{
  padding:20px 24px 16px;border-bottom:1px solid var(--line);
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  position:sticky;top:0;background:#fff;z-index:2;
}
.drw-h h3{font-size:16px;font-weight:700;line-height:1.5}
.drw-x{
  border:none;background:#f2f4f8;width:28px;height:28px;border-radius:7px;
  cursor:pointer;color:var(--ink2);font-size:14px;flex:0 0 auto;font-family:inherit;
}
.drw-x:hover{background:#e6eaf1}
.drw-kpi{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border-bottom:1px solid var(--line);
}
.drw-kpi>div{background:#fbfcfe;padding:14px 12px;text-align:center}
.drw-kpi b{display:block;font-size:15px;font-weight:750;color:var(--blue-d);font-variant-numeric:tabular-nums}
.drw-kpi span{display:block;font-size:11px;color:var(--ink3);margin-top:2px}
.drw-list{padding:8px 0}
.drw-item{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:11px 24px;border-bottom:1px solid var(--line2);
}
.drw-item:last-child{border-bottom:none}
.di-l{flex:1;min-width:0}
.di-d{display:block;font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.di-p{display:block;font-size:13px;color:var(--ink);line-height:1.5;margin-top:2px}
.di-r{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.di-r b{font-size:13.5px;color:var(--red);font-weight:700;font-variant-numeric:tabular-nums}
.drw-foot{padding:14px 24px 28px;font-size:11.5px;color:var(--ink3);line-height:1.7}

/* 最新兑现 */
.rw-fresh{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.fresh{
  background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 13px;
  display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;
  gap:2px 10px;align-items:baseline;box-shadow:var(--shadow);
}
.f-d{grid-row:1/3;align-self:center;font-size:11px;color:#fff;background:var(--blue);padding:3px 7px;border-radius:5px;font-variant-numeric:tabular-nums}
.f-c{font-size:13px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f-p{grid-column:2/3;font-size:11.5px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.f-m{grid-row:1/3;align-self:center;font-size:13px;font-weight:700;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ============ 窗口期（系统项目） ============ */
.win-sys{border-left:3px solid var(--blue)}
.warea{
  display:inline-block;font-size:11px;padding:0 6px;border-radius:4px;
  background:var(--blue-l);color:var(--blue-d);font-weight:600;
}
.wtag{
  display:inline-block;font-size:11px;padding:0 6px;border-radius:4px;
  background:#f1f4f9;color:var(--ink2);border:1px solid #e6ebf2;margin-left:6px;
}
.wview{font-size:11.5px;color:var(--ink3);margin-left:8px;font-variant-numeric:tabular-nums}
.wcat{
  display:inline-block;font-size:10.5px;padding:0 6px;border-radius:4px;
  margin-left:8px;font-weight:600;vertical-align:1px;
}

/* ============ 钱流向 ============ */
.moneybars{
  background:#fff;border:1px solid var(--line);border-radius:11px;
  padding:18px 20px;box-shadow:var(--shadow);
}
.mb-row{display:grid;grid-template-columns:96px 1fr 190px;gap:14px;align-items:center;padding:7px 0}
.mb-k .ctag{font-size:11.5px}
.mb-bar{height:22px;background:#f4f6fa;border-radius:5px;overflow:hidden}
.mb-f{display:block;height:100%;border-radius:5px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.mb-f.c1{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}
.mb-f.c2{background:linear-gradient(90deg,#1d4ed8,#3b82f6)}
.mb-f.c3{background:linear-gradient(90deg,#b45309,#d97706)}
.mb-f.c4{background:linear-gradient(90deg,#12734a,#16a34a)}
.mb-f.c5{background:linear-gradient(90deg,#0d5c87,#0284c7)}
.mb-f.c6{background:linear-gradient(90deg,#2d6b1f,#4d7c0f)}
.mb-f.c0{background:linear-gradient(90deg,#64748b,#94a3b8)}
.mb-v{text-align:right;font-variant-numeric:tabular-nums}
.mb-v b{display:block;font-size:14px;font-weight:750;color:var(--ink);line-height:1.3}
.mb-v span{display:block;font-size:11.5px;color:var(--ink3)}
.mb-foot{
  margin-top:14px;padding-top:13px;border-top:1px solid var(--line2);
  font-size:12.5px;color:var(--ink2);line-height:1.75;
}
.mb-foot b{color:var(--red)}

.datatable .nw{white-space:nowrap;font-variant-numeric:tabular-nums}

/* ==================================================================
   按项目查（新增主入口）
   ================================================================== */

.cat-hero{
  display:grid;grid-template-columns:1fr 340px;gap:24px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:22px 24px;box-shadow:var(--shadow);margin-bottom:16px;
}
.cat-hero h2{font-size:19px;letter-spacing:-.3px;margin-bottom:8px}
.cat-hero p{color:var(--ink2);font-size:13.5px;line-height:1.75}
.cat-hero strong{color:var(--ink);font-weight:600}
.cat-hero-r{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.kv{
  background:#f8fafc;border:1px solid var(--line2);border-radius:9px;
  padding:8px 10px;display:flex;flex-direction:column;gap:1px;
}
.kv-k{font-size:11px;color:var(--ink3);letter-spacing:.2px}
.kv-v{font-size:14.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.kvrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:14px}
.kvrow .kv{background:var(--blue-l);border-color:#dbe5ff}
.kvrow .kv-v{color:var(--blue-d)}

.cat-filter{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}

.cat-grid{
  display:grid;gap:11px;
  grid-template-columns:repeat(auto-fill,minmax(196px,1fr));
  margin-bottom:22px;
}
.catcard{
  text-align:left;font-family:inherit;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:13px 14px 11px;display:flex;flex-direction:column;gap:2px;
  transition:all .15s;box-shadow:var(--shadow);
}
.catcard:hover{border-color:#b9c8e8;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.catcard.sel{border-color:var(--blue);background:var(--blue-l);box-shadow:0 0 0 2px rgba(29,78,216,.13)}
.catcard.dim{opacity:.5}
.catcard-g{font-size:10.5px;color:var(--ink3);letter-spacing:.3px}
.catcard-n{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35}
.catcard-amt{font-size:20px;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:3px}
.catcard-sub{font-size:11.5px;color:var(--ink2);line-height:1.5}
.catcard-wf{font-size:11.5px;color:var(--ink3);margin-top:3px;border-top:1px dashed var(--line);padding-top:5px}
.catcard-wf b{color:var(--green);font-weight:600}

.cat-detail:not(:empty){
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:20px 22px 22px;box-shadow:var(--shadow-lg);margin-bottom:20px;
  animation:fadeUp .2s ease;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cd-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.cd-head h3{font-size:18px;letter-spacing:-.3px}
.cd-tag{font-size:11px;background:var(--blue-l);color:var(--blue-d);padding:2px 9px;border-radius:5px;font-weight:600}
.cd-close{
  margin-left:auto;cursor:pointer;font-family:inherit;font-size:12px;
  background:#f4f6f9;border:1px solid var(--line);color:var(--ink2);
  border-radius:7px;padding:4px 11px;
}
.cd-close:hover{background:#eaedf2}
.cd-intro{color:var(--ink2);font-size:13px;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid var(--line2)}
.cd-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.cd-tab{
  cursor:pointer;font-family:inherit;font-size:13px;
  border:1px solid var(--line);background:#fbfcfd;color:var(--ink2);
  border-radius:8px;padding:6px 15px;transition:all .13s;
}
.cd-tab:hover{border-color:#b9c8e8;color:var(--blue)}
.cd-tab.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.cd-body{}
.cd-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cd-2col .box{margin:0}

.barrow{display:grid;grid-template-columns:92px 1fr 84px;gap:9px;align-items:center;margin-bottom:5px}
.barrow-k{font-size:12px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barrow-t{background:var(--line2);border-radius:4px;height:13px;overflow:hidden}
.barrow-t i{display:block;height:100%;background:linear-gradient(90deg,#3b6ef0,#1d4ed8);border-radius:4px}
.barrow-v{font-size:12px;font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}

/* 申报指南 */
.gcard{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden;background:#fff}
.gcard-h{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:9px 12px;cursor:pointer;background:#fbfcfd;
}
.gcard-h:hover{background:var(--blue-l)}
.gst{font-size:11px;padding:1.5px 7px;border-radius:4px;font-weight:600;white-space:nowrap}
.gname{font-size:13px;font-weight:600;color:var(--ink);flex:1;min-width:140px}
.garea{font-size:11.5px;color:var(--ink3)}
.gdate{font-size:11.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
.gflag{font-size:11px;padding:1.5px 6px;border-radius:4px;background:var(--green-l);color:var(--green);font-weight:600}
.gflag.off{background:#f1f4f9;color:var(--ink3);font-weight:400}
.gcaret{color:var(--ink3);font-size:11px;transition:transform .15s}
.gcard-b{padding:2px 13px 13px;border-top:1px solid var(--line2)}
.gtab{display:flex;flex-direction:column;gap:1px}
.grow{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line2)}
.grow:last-child{border-bottom:none}
.gk{font-size:12px;color:var(--ink3);font-weight:600;line-height:1.6}
.gv{font-size:13px;color:var(--ink);line-height:1.75;white-space:normal;word-break:break-word}
.gnone{margin:12px 0}

/* 窗口卡片内嵌指南 */
.wguide{font-size:11px;color:var(--blue);font-weight:600;margin-left:8px;border-bottom:1px dashed var(--blue)}
.wguide.off{color:var(--ink3);font-weight:400;border-bottom:none}
.win-sys.hasg .win-title{cursor:pointer}
.win-sys.hasg .win-title:hover{color:var(--blue)}
.win-guide{grid-column:1/-1;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);width:100%}
.win-sys.hasg{flex-wrap:wrap}

/* 钩子 */
.ipgroup{margin-bottom:22px}
.ipgroup-h{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.ipgroup-n{font-size:15.5px;font-weight:700;color:var(--ink)}
.ipgroup-m{font-size:12px;color:var(--ink3)}
.hook-card{border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin-bottom:10px;background:#fff}
.hook-h{display:flex;align-items:center;gap:9px;margin-bottom:11px;flex-wrap:wrap}
.hook-lv{font-size:11px;font-weight:700;background:var(--red-l);color:var(--red);padding:2px 9px;border-radius:5px}
.hook-t{font-size:14px;font-weight:700;color:var(--ink)}
.hook-row{display:grid;grid-template-columns:78px 1fr;gap:11px;padding:7px 0;border-bottom:1px dashed var(--line2)}
.hook-row:last-child{border-bottom:none}
.hook-k{font-size:12px;color:var(--ink3);font-weight:600}
.hook-v{font-size:13px;color:var(--ink);line-height:1.75}
.hook-v p{margin-bottom:5px}
.hook-v p:last-child{margin-bottom:0}
.hook-v.clause{background:#fbfcfd;border-left:2px solid var(--line);padding:6px 10px;color:var(--ink2);font-size:12.5px}

/* 品类标签 */
.ctag{background:var(--blue-l);color:var(--blue-d)}
.ctag.more{background:#f1f4f9;color:var(--ink3)}
.clink{color:var(--blue-d);text-decoration:none;border-bottom:1px dashed rgba(29,78,216,.35)}
.clink:hover{color:var(--blue);border-bottom-style:solid}

/* 官方政策卡 */
.polcard.sys{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:9px;box-shadow:var(--shadow)}
.polcard.sys .pol-hd{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;cursor:pointer}
.polcard.sys .pol-hd:hover{background:#fbfcfd}
.pol-lv2{
  font-size:11px;font-weight:700;background:var(--blue-l);color:var(--blue-d);
  padding:2.5px 9px;border-radius:5px;white-space:nowrap;margin-top:2px;
}
.polcard.sys .pol-main{flex:1;min-width:0}
.polcard.sys .pol-t{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5}
.pol-meta{font-size:11.5px;color:var(--ink3);margin-top:3px}
.polcard.sys .pol-bd{display:none;padding:0 15px 15px;border-top:1px solid var(--line2)}
.polcard.sys.open .pol-bd{display:block}
.polcard.sys.open .pol-toggle{transform:rotate(180deg)}
.polcard.sys .pol-toggle{color:var(--ink3);font-size:13px;transition:transform .15s;margin-top:3px}

.wmini{display:flex;flex-direction:column;gap:4px}
.wmini-row{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:4px 0;border-bottom:1px dashed var(--line2)}
.wmini-row:last-child{border-bottom:none}
.wmini-n{flex:1;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wmini-d{color:var(--ink3);font-size:11.5px;white-space:nowrap}

.muted{color:var(--ink3);font-size:13px}
.num{text-align:right;font-variant-numeric:tabular-nums}

@media (max-width:900px){
  .cat-hero{grid-template-columns:1fr}
  .cat-hero-r{grid-template-columns:repeat(3,1fr)}
  .cd-2col{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .catcard-amt{font-size:17px}
  .grow{grid-template-columns:78px 1fr;gap:8px}
  .hook-row{grid-template-columns:64px 1fr;gap:8px}
  .barrow{grid-template-columns:70px 1fr 66px}
}

.pol-sum2{color:var(--red);font-weight:600}

.pol-txt{
  background:#fbfcfd;border:1px solid var(--line2);border-radius:9px;
  padding:13px 15px;font-size:12.8px;line-height:1.9;color:var(--ink2);
  max-height:420px;overflow-y:auto;white-space:normal;word-break:break-word;
}
.pol-att{margin-top:9px;font-size:12.5px;display:flex;flex-direction:column;gap:5px}
.pol-att a{color:var(--blue-d);text-decoration:none;border-bottom:1px dashed rgba(29,78,216,.3)}
.pol-att a:hover{color:var(--blue)}

/* ============ 数据完整度自查 ============ */
.verify{margin:0 0 26px}
.vb-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:7px}
.vb-head h3{font-size:16px;font-weight:700;letter-spacing:.2px}
.vb-at{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.vb-note{font-size:12.8px;color:var(--ink2);line-height:1.75;margin-bottom:9px}
.vb-note b{color:var(--ink)}
.vb-note code{background:#eef1f5;border-radius:4px;padding:1px 5px;font-size:12px;color:var(--blue-d)}
.vb-warn{
  font-size:12.8px;color:var(--amber);background:var(--amber-l);
  border:1px solid #f3ddb4;border-left:3px solid var(--amber);
  border-radius:7px;padding:8px 12px;margin-bottom:13px;
}
.vb-ok-all{
  font-size:12.8px;color:var(--green);background:var(--green-l);
  border:1px solid #c7e9d8;border-left:3px solid var(--green);
  border-radius:7px;padding:8px 12px;margin-bottom:13px;
}
.vb-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vb-2col .box{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:14px 15px;box-shadow:var(--shadow)}
.vb-2col .box h4{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:9px;letter-spacing:.2px}
table.vb{font-size:12.8px}
table.vb td{padding:6px 9px}
table.vb td b{font-weight:600}
table.vb tr.off-low td{background:#fffaf3}

.vbar{display:block;height:7px;border-radius:4px;background:#eef1f5;overflow:hidden}
.vbar i{display:block;height:100%;border-radius:4px;transition:width .4s ease}
.vbar i.v-ok{background:linear-gradient(90deg,#1f9d68,#2fbd80)}
.vbar i.v-mid{background:linear-gradient(90deg,#d97706,#f0a92a)}
.vbar i.v-low{background:linear-gradient(90deg,#cc2222,#e55c5c)}

@media (max-width:900px){
  .vb-2col{grid-template-columns:1fr}
}

.vb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:11px 0 13px}
.vbs{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 13px;box-shadow:var(--shadow)}
.vbs-n{display:block;font-size:19px;font-weight:700;color:var(--blue-d);letter-spacing:-.2px;font-variant-numeric:tabular-nums;line-height:1.25}
.vbs-k{display:block;font-size:11.5px;color:var(--ink3);margin-top:2px;letter-spacing:.3px}
@media (max-width:900px){ .vb-stats{grid-template-columns:repeat(2,1fr)} }

/* ============ 政府名单获取清单 ============ */
.listnote{font-size:12.8px;color:var(--ink2);line-height:1.75;margin:-2px 0 11px}
.listnote strong{color:var(--ink)}
table.listcat td{vertical-align:top}
table.listcat td.nm{font-weight:600;color:var(--ink);line-height:1.55}
table.listcat td.note{font-size:12.4px;color:var(--ink2);line-height:1.65}
.ltag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.4px;
  padding:2px 8px;border-radius:20px;white-space:nowrap;line-height:1.5}
.ltag.l-full{color:var(--green);background:var(--green-l);border:1px solid #c7e9d8}
.ltag.l-part{color:var(--amber);background:var(--amber-l);border:1px solid #f3ddb4}
.ltag.l-none{color:var(--ink3);background:#f2f4f7;border:1px solid var(--line)}
.lnote{display:block;margin-top:4px;font-size:12px;color:var(--ink3);line-height:1.65;
  padding-left:9px;border-left:2px solid var(--line2)}

.gcard.open{border-color:#c9d8f7;box-shadow:0 1px 3px rgba(29,78,216,.07)}
.gcard.open .gcard-h{background:var(--blue-l);border-bottom:1px solid var(--line2)}
.gcard.open .gcaret{transform:rotate(180deg)}

.pol-go{
  font-size:12px;color:var(--blue-d);text-decoration:none;white-space:nowrap;
  border:1px solid #ccdaf8;background:var(--blue-l);border-radius:7px;padding:3px 9px;
  margin-right:8px;font-weight:600;letter-spacing:.2px;
}
.pol-go:hover{background:#dfe8ff;border-color:#b6c9f5}
.polfb{font-size:12.8px;color:var(--ink2);line-height:1.75}
.polfb a{color:var(--blue-d);font-weight:600}
.pol-go{flex:0 0 auto;align-self:center}
.st-unk{background:var(--blue-l);color:var(--blue-d)}

.h4-tip{font-weight:400;font-size:11.5px;color:var(--ink3);margin-left:8px;letter-spacing:.2px}
.barrow-c{cursor:pointer;border-radius:6px;padding-left:6px;padding-right:6px;margin-left:-6px;transition:background .12s}
.barrow-c:hover{background:var(--blue-l)}
.barrow-c:hover .barrow-k{color:var(--blue-d);font-weight:600}
.barrow-c:hover .barrow-v{color:var(--blue-d)}

/* 对账表里的数字不用红——红是金额的语义，这里只是条数 */
table.vb .num{color:var(--ink2);font-weight:600}
table.vb .num.pct{color:var(--amber);font-weight:700}
table.vb .num.pct.full{color:var(--green)}

/* ============ 政策原文库（红头文件） ============ */
.pol-src{display:flex;gap:8px;margin:0 0 14px}
.pol-src .ps{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  font-size:13.5px;font-weight:600;letter-spacing:.3px;color:var(--ink2);
  background:var(--card);border:1px solid var(--line);border-radius:9px;
  padding:8px 15px;transition:all .14s;box-shadow:var(--shadow);
}
.pol-src .ps:hover{border-color:#c9d8f7;color:var(--blue-d)}
.pol-src .ps.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(29,78,216,.18)}
.pol-src .ps i{
  font-style:normal;font-size:11.5px;font-weight:700;line-height:1;padding:3px 6px;border-radius:20px;
  background:#eef1f5;color:var(--ink2);
}
.pol-src .ps.on i{background:rgba(255,255,255,.22);color:#fff}

.doc-list{margin:0}
.doccard{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  margin-bottom:14px;box-shadow:var(--shadow);overflow:hidden;
}
.doc-hd{padding:15px 18px 13px;border-bottom:1px solid var(--line2)}
.doc-flags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.darea{
  font-size:11.5px;font-weight:700;letter-spacing:.4px;color:#fff;
  background:var(--blue);border-radius:5px;padding:2px 8px;line-height:1.6;
}
.dcat{
  font-size:11.5px;font-weight:600;letter-spacing:.3px;color:var(--blue-d);
  background:var(--blue-l);border:1px solid #d6e2fb;border-radius:5px;padding:2px 8px;line-height:1.6;
}
.dno{
  font-size:11.5px;color:var(--ink2);background:#f4f6f9;border:1px solid var(--line);
  border-radius:5px;padding:2px 8px;line-height:1.6;font-variant-numeric:tabular-nums;
}
.doc-hd h3{font-size:15px;font-weight:700;line-height:1.55;color:var(--ink);margin:0 0 7px}
.doc-meta{font-size:12.3px;color:var(--ink3);line-height:1.6}

.dblock{padding:13px 18px;border-bottom:1px solid var(--line2)}
.dblock:last-of-type{border-bottom:none}
.db-h{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.db-h b{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.db-h b::before{
  content:"";display:inline-block;width:3px;height:12px;border-radius:2px;
  background:var(--blue);margin-right:7px;vertical-align:-1px;
}
.db-h span{font-size:11.8px;color:var(--ink3)}
.dblock.d-none{background:#fbfcfd}
.dblock.d-none .db-h b::before{background:var(--ink3)}

ol.dcond{margin:0;padding:0;list-style:none;counter-reset:none}
ol.dcond li{
  display:flex;gap:9px;font-size:13px;line-height:1.75;color:var(--ink);
  padding:5px 0;border-bottom:1px dashed #eef1f5;
}
ol.dcond li:last-child{border-bottom:none}
ol.dcond li i{
  flex:0 0 auto;font-style:normal;font-size:12.5px;color:var(--blue);
  font-weight:700;line-height:1.75;
}

.dmoney-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:7px}
.dmoney{
  font-size:13px;font-weight:700;color:var(--red);
  background:var(--red-l);border:1px solid #f6d6d6;border-radius:6px;padding:3px 10px;
  font-variant-numeric:tabular-nums;
}
.dctx{margin:0;font-size:12.4px;color:var(--ink2);line-height:1.7;
  background:#f7f9fb;border-left:2px solid var(--line2);border-radius:0 6px 6px 0;padding:7px 11px}

.dwho{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}
.dwho p{margin:0;font-size:13px;line-height:1.75;color:var(--ink2);flex:1 1 320px}
.dwho p b{color:var(--ink)}
.dgo{
  flex:0 0 auto;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.2px;
  color:#fff;background:var(--blue);border:none;border-radius:8px;padding:9px 16px;
  transition:background .14s,transform .1s;
}
.dgo:hover{background:var(--blue-d)}
.dgo:active{transform:translateY(1px)}

.doc-foot{padding:9px 18px;background:#fbfcfd;border-top:1px solid var(--line2);text-align:right}
.dtoggle{
  cursor:pointer;font-size:12.5px;font-weight:600;color:var(--blue-d);
  background:var(--blue-l);border:1px solid #d6e2fb;border-radius:7px;padding:5px 12px;
}
.dtoggle:hover{background:#dfe8ff}
.dtx-open{border-top:1px solid var(--line2);background:#fcfdfe}
.dtx-h{
  font-size:12px;font-weight:700;color:var(--ink3);letter-spacing:.4px;
  padding:11px 18px 0;
}
.dtx{max-height:520px;overflow:auto;padding:8px 18px 16px}
.dtx p{margin:0 0 9px;font-size:13px;line-height:1.95;color:var(--ink);text-indent:2em}

@media (max-width:760px){
  .doc-hd,.dblock,.doc-foot{padding-left:13px;padding-right:13px}
  .dtx{padding-left:13px;padding-right:13px}
  .dwho{flex-direction:column;align-items:flex-start}
  .dgo{width:100%}
}

/* ============ 政策原文：三步流程条 + 官网原文入口 ============ */
.doc-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  background:var(--bg-soft,#f6f8fb);border:1px solid var(--line,#e3e8ef);
  border-radius:10px;padding:10px 14px;margin:2px 0 14px;font-size:13px;
  color:var(--tx-2,#4a5568);line-height:1.6}
.doc-flow .df-step{display:inline-flex;align-items:center;gap:6px}
.doc-flow .df-step i{display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;background:#1f6feb;color:#fff;
  font-size:11px;font-style:normal;font-weight:700}
.doc-flow .df-step strong{color:var(--tx-1,#101828);font-weight:700}
.doc-flow .df-arrow{color:#9aa5b1;font-weight:700}

.doc-hd{position:relative}
.dorg{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;
  color:#1f6feb;text-decoration:none;border:1px solid #cfe0ff;background:#f2f7ff;
  border-radius:6px;padding:2px 8px;transition:.15s}
.dorg:hover{background:#e3efff;border-color:#9dc3ff}

.viewer3d + .doc-flow{margin-top:0}

@media (max-width:720px){
  .doc-flow{font-size:12px;padding:9px 11px}
  .doc-flow .df-arrow{display:none}
  .doc-flow .df-step{width:100%}
}

/* ==========================================================================
   项目库（单个申报项目的要求介绍）
   ========================================================================== */
.proj-bar{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.proj-bar .cat-filter{margin-bottom:0;flex:1 1 auto}
.proj-bar .search{flex:0 0 240px;width:240px}

/* 项目卡：比品类卡高一点，因为要多一行"最新文件" */
.pcard{min-height:132px;justify-content:flex-start}
.pcard .catcard-n{font-size:15px}
.pcard .catcard-amt{margin-top:4px}

.pdetail{animation:fadeUp .2s ease}
.pd-hd{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:2px}
.pd-flags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pd-lv{font-size:11px;font-weight:700;color:#fff;background:var(--blue);
  border-radius:5px;padding:2px 8px;letter-spacing:.3px}
.pd-gr{font-size:11px;color:var(--ink2);background:var(--bg-soft,#f2f5f9);
  border:1px solid var(--line);border-radius:5px;padding:2px 8px}
.pd-date{font-size:11.5px;color:var(--ink3)}
.pd-date.stale{color:#b45309;background:#fffbeb;border:1px solid #fde68a;
  border-radius:5px;padding:2px 8px}
.pd-hd h3{font-size:20px;letter-spacing:-.4px;margin:2px 0 7px}
.pd-intro{margin:0 0 14px;font-size:13.5px;line-height:1.8;color:var(--ink2)}
.pd-hd .kvrow{margin-top:2px}

.pdsec{border-bottom:1px solid var(--line2);padding:16px 0}
.pdsec:last-of-type{border-bottom:none}
.pdsec .db-h{margin-bottom:11px}
.chips.parea{margin-bottom:12px}

.pd-win{margin-top:11px;font-size:12.5px;color:var(--ink2);background:#f7f9fb;
  border-left:2px solid var(--blue);border-radius:0 6px 6px 0;padding:8px 12px;line-height:1.7}
.pd-win b{color:var(--ink)}
.pd-winname{color:var(--ink3)}
.pd-src{margin-top:10px;font-size:12px;color:var(--ink2);line-height:1.7}
.pd-src b{color:var(--ink);font-weight:600}
.pd-src a{color:var(--blue);font-weight:600;text-decoration:none;margin-left:4px}
.pd-src a:hover{text-decoration:underline}

.pd-comp{padding:5px 0}
.pd-cn{flex:1;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-ca{color:var(--red);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.pd-more{font-size:12px;color:var(--ink3);margin-top:6px}
.pd-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px}
.pd-foot{text-align:right;padding-top:12px}

/* ==========================================================================
   PDF 文件卡（政策原文）
   ========================================================================== */
.pdf-list{display:block}
.pdfrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px;margin-top:4px}

.pdfcard{
  display:flex;align-items:stretch;gap:10px;text-decoration:none;
  background:#f7f8fa;border:1px solid #eceef2;border-radius:10px;
  padding:11px 12px;transition:all .14s;overflow:hidden;
}
.pdfcard:hover{background:#fff;border-color:#c9d5ea;box-shadow:0 2px 10px rgba(16,24,40,.07)}
.pdfcard-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pdfcard-t{font-size:13px;font-weight:600;color:var(--ink);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pdfcard-m{font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.pdfcard-d{color:var(--ink3)}
.pdfcard-tag{display:inline-flex;align-items:center;gap:4px;margin-top:2px;
  font-size:10.5px;font-weight:600;color:var(--blue);align-self:flex-start}
.pdfcard-i{
  flex:0 0 38px;width:38px;display:flex;align-items:center;justify-content:center;
  background:#e5484d;border-radius:7px;color:#fff;font-size:9.5px;font-weight:800;
  letter-spacing:.3px;position:relative;
}
.pdfcard-i::after{content:"";position:absolute;top:0;right:0;border-width:0 9px 9px 0;
  border-style:solid;border-color:#f7f8fa #f7f8fa rgba(255,255,255,.5) rgba(255,255,255,.5)}
.pdfcard.sm{padding:9px 10px}
.pdfcard.sm .pdfcard-i{flex:0 0 32px;width:32px;font-size:8.5px}

/* 政策总文件：按地区分组 */
.polfgrp{margin-bottom:22px}
.polfgrp-h{display:flex;align-items:baseline;gap:9px;margin-bottom:9px;
  padding-bottom:7px;border-bottom:2px solid var(--line)}
.polfgrp-h b{font-size:14.5px;color:var(--ink);letter-spacing:-.2px}
.polfgrp-h span{font-size:11.5px;color:var(--ink3)}
.polf{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:13px 15px;margin-bottom:9px;box-shadow:var(--shadow);transition:border-color .14s}
.polf:hover{border-color:#c9d5ea}
.polf-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.polf-new{font-size:10.5px;font-weight:700;color:#fff;background:var(--green);
  border-radius:4px;padding:1px 7px}
.polf-old{font-size:10.5px;color:var(--ink3);background:#f1f3f6;
  border-radius:4px;padding:1px 7px}
.polf-no{font-size:11.5px;font-weight:600;color:var(--blue-d)}
.polf-d{font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.polf-lv{font-size:10.5px;color:var(--ink2);border:1px solid var(--line);
  border-radius:4px;padding:0 6px}
.polf h4{font-size:14px;font-weight:600;line-height:1.6;margin:0 0 6px;color:var(--ink)}
.polf-valid{font-size:11.5px;color:var(--ink3);margin-bottom:8px}
.polf-foot{margin-top:8px;text-align:right}
.polf-foot a{font-size:12px;color:var(--blue);font-weight:600;text-decoration:none}
.polf-foot a:hover{text-decoration:underline}

/* ==========================================================================
   修正：「哪些企业能报」在窄屏下被 flex-basis 撑出一大片空白
   （列方向布局时 flex-basis 会变成高度，320px 的 basis 直接变成 320px 空白）
   ========================================================================== */
.dwho p{min-width:0}
@media (max-width:720px){
  .dwho{flex-direction:column;align-items:stretch}
  .dwho p{flex:0 0 auto}
  .dwho .dgo{width:100%}
  .proj-bar .search{flex:1 1 100%;width:100%}
  .pd-files,.pdfrow{grid-template-columns:1fr}
  .pdfcard-i{flex:0 0 34px;width:34px}
}

/* 政策总文件视图：列表说明必须是整行文字，不能套用卡片网格 */
.pdf-list .listmeta{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:14px;line-height:1.7}
/* PDF 卡一行排 2-3 个，别单个就撑满整行 */
.pdfrow{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.pdfrow .pdfcard{max-width:520px}
/* 项目卡底部那行"最新文件"统一贴底，卡片高度才齐 */
.pcard .catcard-wf{margin-top:auto}
/* 点开详情自动定位时，别被顶部导航挡住 */
#catDetail{scroll-margin-top:70px}
/* 历史版本折叠 */
details.polf-old-box{margin-top:2px}
details.polf-old-box>summary{
  cursor:pointer;font-size:12px;color:var(--ink3);padding:7px 2px;list-style:none;
  border-top:1px dashed var(--line2);margin-top:4px;
}
details.polf-old-box>summary::-webkit-details-marker{display:none}
details.polf-old-box>summary::before{content:"▸ ";font-size:10px}
details.polf-old-box[open]>summary::before{content:"▾ "}
details.polf-old-box>summary:hover{color:var(--blue)}

/* 政策条款（从原文摘的奖补条款） */
.pd-cls{display:flex;flex-direction:column;gap:1px}
.pd-cl{padding:10px 0;border-bottom:1px dashed var(--line2)}
.pd-cl:last-child{border-bottom:none}
.pd-cl-t{font-size:13px;line-height:1.85;color:var(--ink);word-break:break-word}
.pd-cl-f{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:6px}
.pd-cl-src{font-size:11.5px;color:var(--ink3);line-height:1.6}
.pd-cl-src a{color:var(--blue);text-decoration:none;font-weight:600}
.pd-cl-src a:hover{text-decoration:underline}
.pd-objarea{display:inline-block;font-size:10.5px;font-weight:700;color:var(--blue-d);
  background:var(--blue-l);border-radius:4px;padding:1px 6px;margin-right:7px;vertical-align:1px}
