/* ====== 149 车船税计算器 · 公务蓝 + 车牌黄 + 税单 ====== */
.tsk.vvt{
  --tsk-bg:#eef3fa;
  --tsk-card:#ffffff;
  --tsk-card-2:#f4f8fd;
  --tsk-ink:#132a45;
  --tsk-sub:#4c6076;
  --tsk-faint:#8296ad;
  --tsk-line:#d8e3f0;
  --tsk-line-2:#e8eff9;
  --tsk-brand:#1e4e8c;
  --tsk-brand-2:#163a68;
  --tsk-brand-soft:#e3ecf8;
  --tsk-brand-ink:#1b4a86;
  --vvt-gold:#d4a017;
  --vvt-gold-soft:rgba(212,160,23,.13);
  --vvt-gold-ink:#8a6408;
  background:
    radial-gradient(700px 320px at 100% -12%, rgba(212,160,23,.12), transparent 62%),
    radial-gradient(540px 260px at -4% 6%, rgba(30,78,140,.09), transparent 60%),
    var(--tsk-bg);
}
:root[data-theme="dark"] .tsk.vvt{
  --tsk-bg:#0b1421;
  --tsk-card:#111d2c;
  --tsk-card-2:#16232f;
  --tsk-ink:#e4edf8;
  --tsk-sub:#a8b8cb;
  --tsk-faint:#7c8ca0;
  --tsk-line:#22334a;
  --tsk-line-2:#1b2a3d;
  --tsk-brand:#7ea6e0;
  --tsk-brand-2:#4d7fbe;
  --tsk-brand-soft:rgba(126,166,224,.14);
  --tsk-brand-ink:#a9c6ee;
  --vvt-gold:#e5b93c;
  --vvt-gold-soft:rgba(229,185,60,.14);
  --vvt-gold-ink:#f0cd74;
}

/* ---- 首屏 ---- */
.vvt-hero{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:30px;padding:30px 0 24px;align-items:stretch;}
.vvt-hero-l{display:flex;flex-direction:column;}
.vvt-hero-l>.tsk-hs{flex:1 1 auto;}
.vvt-hero-r{align-self:start;}
.vvt-hero-l .tsk-h1 b{color:var(--tsk-brand-ink);}

/* 税单 / 行驶证 */
.vvt-slip{align-self:start;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:14px;box-shadow:0 16px 40px rgba(19,42,69,.12);overflow:hidden;position:relative;}
.vvt-slip-top{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:linear-gradient(135deg,#1e4e8c,#163a68);}
.vvt-slip-top span{font-size:12px;font-weight:800;color:#eaf2ff;letter-spacing:.05em;}
.vvt-slip-top i{font-style:normal;font:700 10px/1 var(--tsk-num);letter-spacing:.18em;color:rgba(234,242,255,.6);}
.vvt-plate{margin:14px 20px 0;padding:9px 0;text-align:center;background:linear-gradient(180deg,#163a68,#1e4e8c);border:2px solid #e8f0fb;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);}
.vvt-plate b{font:800 19px/1 var(--tsk-num);letter-spacing:.28em;color:#f4d675;}
.vvt-plate span{margin-left:4px;font:700 11px/1 var(--tsk-num);letter-spacing:.2em;color:rgba(244,214,117,.7);}
.vvt-slip-body{padding:2px 20px 18px;}
.vvt-slip-body label{display:block;margin:12px 0 5px;font-size:11.5px;font-weight:800;color:var(--tsk-sub);}
.vvt-slip-body select{width:100%;height:36px;padding:0 10px;border:1px solid var(--tsk-line);border-radius:8px;background:var(--tsk-card-2);color:var(--tsk-ink);font:700 13px/36px var(--tsk-font);outline:none;transition:border-color .16s,box-shadow .16s;}
.vvt-slip-body select:focus{border-color:var(--vvt-gold);box-shadow:0 0 0 3px var(--vvt-gold-soft);}
.vvt-slip-body select:disabled{opacity:.45;cursor:not-allowed;}
.vvt-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.vvt-slip .tsk-btn-main{width:100%;margin-top:16px;background:linear-gradient(135deg,#1e4e8c,#2f6cb8);color:#fff;}
.vvt-slip-foot{margin-top:10px;font-size:10.5px;line-height:1.7;color:var(--tsk-faint);}
.vvt-stamp{position:absolute;right:16px;bottom:64px;width:52px;height:52px;border:2px solid rgba(180,35,43,.55);border-radius:50%;color:rgba(180,35,43,.6);font:800 22px/48px var(--tsk-font);text-align:center;transform:rotate(-16deg);pointer-events:none;letter-spacing:0;}
:root[data-theme="dark"] .vvt-stamp{border-color:rgba(248,113,113,.5);color:rgba(248,113,113,.6);}

/* ---- 结果 ---- */
.vvt-result{margin:4px 0 26px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:16px;box-shadow:var(--tsk-shadow);padding:22px 24px;}
.vvt-res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:11px;}
.vvt-res-card{background:var(--tsk-card-2);border:1px solid var(--tsk-line-2);border-radius:10px;padding:15px 17px;position:relative;}
.vvt-res-card::after{content:"";position:absolute;right:12px;top:12px;width:16px;height:16px;border-radius:2px;border:2px solid var(--vvt-gold-soft);}
.vvt-res-card b{display:block;font:800 25px/1.15 var(--tsk-num);color:var(--tsk-ink);font-variant-numeric:tabular-nums;}
.vvt-res-card span{display:block;margin-top:5px;font-size:11.5px;font-weight:700;color:var(--tsk-faint);}
.vvt-res-card i{display:block;margin-top:3px;font-style:normal;font-size:10.5px;color:var(--tsk-sub);}
.vvt-res-card.vvt-main{background:linear-gradient(135deg,#1e4e8c,#163a68);border-color:transparent;}
.vvt-res-card.vvt-main b{color:#fff;}
.vvt-res-card.vvt-main span,.vvt-res-card.vvt-main i{color:rgba(255,255,255,.78);}
.vvt-res-card.vvt-main::after{border-color:rgba(244,214,117,.6);}
.vvt-alert{margin-top:13px;padding:12px 14px;border-radius:9px;background:var(--tsk-brand-soft);border:1px solid rgba(30,78,140,.18);font-size:12.5px;line-height:1.85;color:var(--tsk-sub);}
.vvt-alert b{color:var(--tsk-brand-ink);}
.vvt-alert.is-warn{background:var(--tsk-bad-soft,#fdecec);border-color:rgba(224,49,49,.24);}
.vvt-alert.is-warn b{color:var(--tsk-bad,#e03131);}
.vvt-plan{margin-top:14px;overflow-x:auto;border-radius:10px;border:1px solid var(--tsk-line);}
.vvt-copy{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;border:1px dashed var(--tsk-line);border-radius:9px;background:var(--tsk-card-2);}
.vvt-copy span{flex:1 1 240px;font-size:12px;line-height:1.75;color:var(--tsk-sub);}

.vvt-policy{margin:2px 0 4px;padding:11px 16px;border-left:4px solid var(--vvt-gold);background:var(--tsk-card);border-radius:0 9px 9px 0;font-size:12.5px;line-height:1.8;color:var(--tsk-sub);box-shadow:var(--tsk-shadow-sm);}
.vvt-policy b{color:var(--vvt-gold-ink);}

/* ---- 表格 ---- */
.vvt-scroll{overflow-x:auto;border-radius:10px;box-shadow:var(--tsk-shadow-sm);}
.vvt-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--tsk-card);}
.vvt-table.is-wide{border:1px solid var(--tsk-line);}
.vvt-table.is-provinces{min-width:900px;}
.vvt-table th,.vvt-table td{padding:10px 13px;font-size:12.5px;line-height:1.7;border-bottom:1px solid var(--tsk-line-2);text-align:left;}
.vvt-table thead th{background:var(--tsk-card-2);font-size:11px;font-weight:800;color:var(--tsk-brand-ink);letter-spacing:.03em;white-space:nowrap;}
.vvt-table tbody tr:last-child td{border-bottom:0;}
.vvt-table tbody tr:hover td{background:var(--tsk-card-2);}
.vvt-strong{font-weight:800;color:var(--tsk-ink);}
.vvt-tag{display:inline-block;padding:2px 9px;border-radius:4px;background:var(--vvt-gold-soft);color:var(--vvt-gold-ink);font:800 11.5px/1.7 var(--tsk-num);}
.vvt-note{margin-top:10px;font-size:12px;line-height:1.8;color:var(--tsk-faint);}

/* ---- 规则 / 清单 ---- */
.vvt-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:10px;}
.vvt-rule{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:16px 18px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:10px;box-shadow:var(--tsk-shadow-sm);}
.vvt-rule>span{width:30px;height:30px;border-radius:6px;background:var(--vvt-gold-soft);color:var(--vvt-gold-ink);font:800 13px/30px var(--tsk-num);text-align:center;}
.vvt-rule b{font-size:13px;font-weight:800;color:var(--tsk-ink);}
.vvt-rule p{margin:5px 0 0;font-size:12px;line-height:1.8;color:var(--tsk-sub);}

.vvt-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(278px,1fr));gap:8px;}
.vvt-list li{position:relative;padding:12px 15px 12px 36px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:9px;font-size:12.5px;line-height:1.78;color:var(--tsk-sub);}
.vvt-list li::before{content:"!";position:absolute;left:15px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--vvt-gold-soft);color:var(--vvt-gold-ink);font:800 11px/14px var(--tsk-num);text-align:center;}

@media (max-width:900px){
  .vvt-hero{grid-template-columns:1fr;gap:22px;}
  .vvt-slip,.vvt-hero-r{align-self:stretch;}
}
@media (max-width:560px){
  .vvt-res-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vvt-res-card b{font-size:22px;}
}
