﻿﻿﻿﻿body{margin:0;font:14px Microsoft YaHei;background:#eef4fb;color:#17324b}*{box-sizing:border-box}.app{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,#102641,#163a62);color:#fff;padding:14px}.brand{display:flex;gap:8px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:38px;height:38px}.nav div{padding:7px 14px;margin:0;border-radius:0;cursor:pointer;font-weight:700}.main{padding:14px}.top{background:#fff;border:1px solid #d9e5f2;border-radius:16px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.back-btn{margin-right:10px}.meta{font-size:12px;color:#6b7e92;display:flex;gap:8px;flex-wrap:wrap}.card{background:#fff;border:1px solid #d9e5f2;border-radius:16px;padding:14px;box-shadow:0 8px 20px rgba(16,39,63,.06)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}.hero .mainc{background:linear-gradient(135deg,#112845,#1e5b99);color:#fff}.hero .sub{color:rgba(255,255,255,.82)}.grid4,.stats,.sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stats{margin-top:12px}.mini{padding:12px;border:1px solid #dbe7f2;border-radius:12px;background:#f8fbfe}.k{font-size:12px;color:#6b7e92}.v{font-size:22px;font-weight:700;margin-top:6px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tab{padding:8px 12px;border:1px solid #d9e5f2;border-radius:10px;background:#fff;cursor:pointer}.tab.on{background:#dfeefa;color:#184774;font-weight:700}.page{display:none}.page.on{display:block}.btn{border:none;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}.p{background:#1d64ae;color:#fff}.s{background:#eef4fa;border:1px solid #dbe7f2;color:#35516d}.g6{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:8px 0}.f label{display:block;font-size:12px;color:#6b7e92;margin-bottom:4px}.i,.sl{width:100%;padding:9px;border:1px solid #d8e5f0;border-radius:8px}.vt,.tb{width:100%;border-collapse:collapse}.vt th,.vt td,.tb th,.tb td{border:1px solid #e3edf6;padding:7px}.vt th,.tb th{background:#f5f9fd;font-size:12px}.vt input{width:100%;border:none;outline:none;background:transparent}.sum{grid-template-columns:1fr 150px 150px;margin-top:8px}.r{text-align:right}@media(max-width:900px){.app,.hero,.grid4,.stats,.g6,.sum{grid-template-columns:1fr}}

.voucher-shell{padding:0;overflow:hidden;background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.voucher-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid #dfe8f3;background:linear-gradient(180deg,#f9fbfe,#eef4fb)}.voucher-title{font-size:24px;font-weight:800;color:#14324d;letter-spacing:.5px}.voucher-title-sub{display:inline-flex;align-items:center;padding:4px 10px;margin-left:10px;border-radius:999px;background:#e8f0fb;color:#35597d;font-size:12px;font-weight:700}.voucher-kicker{margin-top:6px;color:#6a7f95;line-height:1.7}.voucher-top-actions{display:flex;gap:10px;align-items:center}.voucher-paper{margin:18px;border:1px solid #d4e0ee;border-radius:18px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 16px 32px rgba(17,41,68,.06)}.voucher-paper-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:18px 18px 14px;border-bottom:2px solid #d9e5f2;background:linear-gradient(180deg,#ffffff,#f7fafe)}.voucher-paper-title{font-size:28px;font-weight:800;letter-spacing:6px;color:#18314a}.voucher-paper-meta{display:flex;gap:16px;flex-wrap:wrap;color:#647b92;font-size:12px}.voucher-paper-meta b{color:#153a62;font-size:13px}.voucher-header-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;padding:16px 18px;border-bottom:1px solid #e2ebf4;background:#fbfdff}.voucher-header-grid .f{grid-column:span 2}.voucher-header-grid .voucher-summary-field{grid-column:span 4}.voucher-header-grid .i,.voucher-header-grid .sl{height:38px;border-color:#cfdceb;border-radius:8px;background:#fff}.voucher-grid{table-layout:fixed}.voucher-grid th{padding:10px 8px;background:linear-gradient(180deg,#f6f9fd,#ebf2f9);color:#34506f;font-weight:800}.voucher-grid td{padding:0;background:#fff}.voucher-grid td input{width:100%;padding:11px 10px;border:none;background:transparent;font:inherit;color:#17324b}.voucher-grid td input:focus{background:#f7fbff;box-shadow:inset 0 0 0 1px #9fc0e6}.voucher-grid .amount-head{letter-spacing:0}.voucher-grid td:has(.amount-input),.voucher-grid .amount-cell{background:#fbfcfe}.amount-input{font-family:Consolas,"Courier New",monospace;text-align:right;font-size:20px;font-weight:700;letter-spacing:0;color:#14395f;background:transparent;padding-right:10px!important}.voucher-toolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid #e2ebf4;background:#f9fbfe}.voucher-balance-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid #e2ebf4;border-bottom:1px solid #e2ebf4;background:linear-gradient(180deg,#fffdf7,#f8fbff)}.voucher-balance-label{font-weight:700;color:#49627f}.voucher-balance-value{font-weight:700;color:#b26a00}.voucher-balance-value.ok{color:#237d53}.voucher-balance-value.warn{color:#b26a00}.voucher-sum{padding:0 18px 18px;grid-template-columns:minmax(0,1fr) 180px 180px}.voucher-ai-panel{min-height:96px;background:linear-gradient(180deg,#f8fbff,#f2f7fd)}.voucher-total-card{display:flex;flex-direction:column;justify-content:center;min-height:96px;background:linear-gradient(180deg,#fff,#f7fbff)}.voucher-total-card b{color:#43607d}.voucher-total-card div{margin-top:8px;color:#14365a}.voucher-grid tr:hover td{background:#fafdff}.voucher-grid tr:hover .amount-cell{background:#fafdff}.voucher-grid .seq-head,.voucher-grid .seq-cell{width:56px;text-align:center}.voucher-grid .seq-cell{font-weight:700;color:#5d738a;background:linear-gradient(180deg,#f7fafe,#eff5fb)}.voucher-grid .op-head,.voucher-grid .op-cell{width:132px}.voucher-grid .op-cell{padding:6px 8px;white-space:nowrap;background:#f8fbfe}.row-op-btn{min-width:48px;padding:5px 10px;border:1px solid #cfdeeb;border-radius:8px;background:linear-gradient(180deg,#fff,#f2f7fc);color:#35516d;font-size:12px;font-weight:700;cursor:pointer}.row-op-btn+.row-op-btn{margin-left:6px}.row-op-btn:hover{border-color:#a9bfd6;background:linear-gradient(180deg,#fff,#eaf2fb)}.row-op-btn.danger{color:#984a43;border-color:#e5c8c4;background:linear-gradient(180deg,#fff,#fbefed)}.row-op-btn.danger:hover{border-color:#d6a39b;background:linear-gradient(180deg,#fff,#f8e4e0)}#saveVoucherBtn:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.08);box-shadow:none}@media(max-width:1200px){.voucher-header-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.voucher-header-grid .f,.voucher-header-grid .voucher-summary-field{grid-column:span 3}.voucher-sum{grid-template-columns:1fr}}@media(max-width:900px){.voucher-topbar,.voucher-paper-head{flex-direction:column;align-items:flex-start}.voucher-header-grid{grid-template-columns:1fr 1fr}.voucher-header-grid .f,.voucher-header-grid .voucher-summary-field{grid-column:span 2}.voucher-paper-title{letter-spacing:2px;font-size:24px}.voucher-grid{display:block;overflow:auto}.voucher-grid table{min-width:1100px}}
.amount-input{display:block;width:100%;height:46px;padding:11px 10px!important;font-variant-numeric:tabular-nums}.amount-input::selection{color:#14395f;background:rgba(159,192,230,.35)}
.voucher-grid{
  --amount-slot:30px;
  --amount-width:330px;
}
.voucher-grid th.amount-head{
  width:var(--amount-width);min-width:var(--amount-width);text-align:center!important;vertical-align:middle;padding:0!important
}
.voucher-grid th.amount-head{
  background:linear-gradient(180deg,#eef4fb,#e2ecf8)!important;
  color:#20486f;
  font-size:13px;
  letter-spacing:0;
  border-top:2px solid #b9cee4;
  border-bottom:2px solid #b9cee4;
  background-size:var(--amount-slot) 100%,calc(var(--amount-slot) * 4) 100%,100% 100%!important;
  background-image:
    repeating-linear-gradient(90deg,rgba(166,190,216,.72) 0,rgba(166,190,216,.72) 1px,transparent 1px,transparent var(--amount-slot)),
    repeating-linear-gradient(90deg,rgba(132,165,199,.42) 0,rgba(132,165,199,.42) 2px,transparent 2px,transparent calc(var(--amount-slot) * 4)),
    linear-gradient(180deg,#eef4fb,#e2ecf8)!important;
}
.amount-head-title{
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:800;
  color:#133e66;
  border-bottom:1px solid #b7cde3;
  letter-spacing:2px;
}
.amount-head-units{
  display:grid;
  grid-template-columns:repeat(11,var(--amount-slot));
  justify-content:start;
  align-items:center;
  width:var(--amount-width);
  min-height:34px;
}
.amount-head-units span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  font-size:12px;
  font-weight:700;
  color:#254d74;
}
.voucher-grid th:nth-child(7),.voucher-grid td:nth-child(7){width:72px}
.voucher-grid th:nth-child(8),.voucher-grid td:nth-child(8){width:120px}
.voucher-grid th:nth-child(2),.voucher-grid td:nth-child(2){width:150px}
.voucher-grid th:nth-child(3),.voucher-grid td:nth-child(3){width:170px}
.voucher-grid th:nth-child(4),.voucher-grid td:nth-child(4){width:110px}
.voucher-grid .op-head,.voucher-grid .op-cell{width:112px}
.voucher-grid th:nth-child(5),
.voucher-grid td:nth-child(5){
  width:var(--amount-width);
  min-width:var(--amount-width);
  max-width:var(--amount-width);
  border-left:2px solid #cfdeec;
}
.voucher-grid th:nth-child(6),
.voucher-grid td:nth-child(6){
  width:var(--amount-width);
  min-width:var(--amount-width);
  max-width:var(--amount-width);
  border-right:2px solid #cfdeec;
}
.voucher-grid th:nth-child(5),.voucher-grid th:nth-child(6){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.voucher-grid td.amount-cell{
  background:linear-gradient(180deg,#fdfefe,#f4f8fd);
  background-size:var(--amount-slot) 100%,calc(var(--amount-slot) * 4) 100%,100% 100%;
  background-image:
    repeating-linear-gradient(90deg,rgba(185,206,228,.9) 0,rgba(185,206,228,.9) 1px,transparent 1px,transparent var(--amount-slot)),
    repeating-linear-gradient(90deg,rgba(153,181,210,.52) 0,rgba(153,181,210,.52) 2px,transparent 2px,transparent calc(var(--amount-slot) * 4)),
    linear-gradient(180deg,#fdfefe,#f4f8fd);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}
.voucher-grid td.amount-cell + td.amount-cell{
  background:linear-gradient(180deg,#fcfdff,#f2f7fd);
  background-size:var(--amount-slot) 100%,calc(var(--amount-slot) * 4) 100%,100% 100%;
  background-image:
    repeating-linear-gradient(90deg,rgba(185,206,228,.9) 0,rgba(185,206,228,.9) 1px,transparent 1px,transparent var(--amount-slot)),
    repeating-linear-gradient(90deg,rgba(153,181,210,.52) 0,rgba(153,181,210,.52) 2px,transparent 2px,transparent calc(var(--amount-slot) * 4)),
    linear-gradient(180deg,#fcfdff,#f2f7fd);
}
.voucher-grid td.amount-cell .amount-input{
  height:54px;
  padding:12px 8px 8px 10px!important;
  color:#0b3e72;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
  font-size:23px;
  font-weight:900;
  font-family:"Cascadia Mono","Consolas","Courier New",monospace;
  font-variant-numeric:tabular-nums;
  line-height:1;
  letter-spacing:11px;
  text-align:right;
  position:relative;
  z-index:1;
}
.voucher-grid tr:hover td.amount-cell{
  background-image:
    repeating-linear-gradient(90deg,rgba(172,198,224,.98) 0,rgba(172,198,224,.98) 1px,transparent 1px,transparent var(--amount-slot)),
    repeating-linear-gradient(90deg,rgba(143,176,208,.58) 0,rgba(143,176,208,.58) 2px,transparent 2px,transparent calc(var(--amount-slot) * 4)),
    linear-gradient(180deg,#ffffff,#f4f8fd);
}
.voucher-paper{
  border-color:#c4d5e6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.97),inset 0 0 0 1px #edf4fb,0 16px 32px rgba(17,41,68,.06);
}
.voucher-grid{
  border-top:1px solid #c6d8ea;
  border-bottom:1px solid #c6d8ea;
}
.amount-head-title{
  height:40px;
  font-size:24px;
}
.amount-head-units{
  min-height:34px;
}
.amount-head-units span{
  min-height:34px;
}
.voucher-grid td.amount-cell .amount-input{
  height:54px;
  padding:12px 8px 8px 10px!important;
}
.side{
  overflow:auto;
}
.nav{
  padding-bottom:18px;
  text-align:left;
}
.nav div{
  line-height:1.25;
  text-align:left;
}
.tabs{
  row-gap:8px;
}
.tb tbody tr:hover td{
  background:#f8fbff;
}
.page .card + .card{
  margin-top:14px;
}
