.pvq-app{
  --bg:#f2f5f7; --panel:#fff; --ink:#16202f; --muted:#6b7a8f; --line:#e2e8f0;
  --brand:#0f766e; --brand2:#14b8a6; --soft:#ecfdf5; --soft2:#f0fdfa;
  --amber:#b45309; --amber-soft:#fffbeb; --danger:#b91c1c; --blue:#1d4ed8;
  --r:10px; --sh:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.08);
}.pvq-app *{box-sizing:border-box;margin:0;padding:0}.pvq-app{-webkit-text-size-adjust:100%}.pvq-app{font-family:"Inter",system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--ink);font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}.pvq-app button, .pvq-app input, .pvq-app select{font-family:inherit;font-size:inherit;color:inherit}.pvq-app button{cursor:pointer;border:none;background:none}.pvq-app a{color:var(--brand)}.pvq-app h1, .pvq-app h2, .pvq-app h3, .pvq-app h4{font-weight:700}.pvq-app ::-webkit-scrollbar{width:9px;height:9px}.pvq-app ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}.pvq-app ::-webkit-scrollbar-track{background:transparent}.pvq-app header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.pvq-app .hd{max-width:1560px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.pvq-app .brand{display:flex;align-items:center;gap:10px;min-width:280px}.pvq-app .logo{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#0f766e,#14b8a6);display:grid;place-items:center;box-shadow:0 2px 6px rgba(15,118,110,.3);flex:none}.pvq-app .logo svg{width:20px;height:20px}.pvq-app .brand h1{font-size:15.5px;letter-spacing:.2px}.pvq-app .brand p{font-size:10.5px;color:var(--muted);margin-top:1px}.pvq-app .tabs{display:flex;background:#eef1f5;border-radius:8px;padding:3px;gap:2px}.pvq-app .tab{padding:7px 15px;border-radius:6px;font-size:12.5px;font-weight:650;color:#5a6b80;white-space:nowrap;transition:.15s}.pvq-app .tab:hover{color:var(--ink)}.pvq-app .tab.on{background:#fff;color:var(--brand);box-shadow:0 1px 2px rgba(0,0,0,.08)}.pvq-app .actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pvq-app .btn{padding:6px 12px;border-radius:7px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:650;color:#41506a;transition:.15s;white-space:nowrap}.pvq-app .btn:hover{border-color:#c8d2df;background:#fafbfc}.pvq-app .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.pvq-app .btn.primary:hover{background:#0d6259}.pvq-app .btn.sm{padding:4px 9px;font-size:11px}.pvq-app .save-tag{font-size:10.5px;color:#94a3b8}.pvq-app .wrap{max-width:1560px;margin:0 auto;padding:14px 20px 40px}.pvq-app .kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:14px}.pvq-app .kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:11px 13px;box-shadow:var(--sh);position:relative;overflow:hidden}.pvq-app .kpi .k{font-size:10.5px;color:var(--muted);font-weight:650;letter-spacing:.2px}.pvq-app .kpi .v{font-size:21px;font-weight:750;margin-top:4px;letter-spacing:-.4px;line-height:1.15;white-space:nowrap}.pvq-app .kpi .u{font-size:10.5px;color:#94a3b8;font-weight:500;margin-left:3px}.pvq-app .kpi .sub{font-size:10px;color:#94a3b8;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvq-app .kpi.hl{background:linear-gradient(160deg,#f0fdfa,#fff);border-color:#99f6e4}.pvq-app .kpi.hl .v{color:var(--brand)}.pvq-app .kpi.warm{background:linear-gradient(160deg,#fffbeb,#fff);border-color:#fde68a}.pvq-app .kpi.warm .v{color:var(--amber)}.pvq-app .kpi.good .v{color:#047857}.pvq-app .kpi.bad .v{color:var(--danger)}.pvq-app .tabpane{display:none}.pvq-app .tabpane.on{display:block;animation:fade .18s ease}@keyframes fade{from{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:none}}.pvq-app .cols{display:grid;grid-template-columns:392px minmax(0,1fr);gap:14px;align-items:start}.pvq-app .cols.wide{grid-template-columns:minmax(0,1fr)}.pvq-app .col-left{display:flex;flex-direction:column;gap:14px}.pvq-app .col-right{display:flex;flex-direction:column;gap:14px;min-width:0}.pvq-app .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pvq-app .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.pvq-app .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pvq-app .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);min-width:0}.pvq-app .card-hd{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #eef2f7;flex-wrap:wrap}.pvq-app .card-hd h2{font-size:13.5px;letter-spacing:.2px}.pvq-app .card-hd h2 .n{color:#94a3b8;font-weight:600;margin-right:6px}.pvq-app .card-hd .right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pvq-app .card-bd{padding:12px 14px}.pvq-app .tag{font-size:10px;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#64748b;font-weight:650;white-space:nowrap}.pvq-app .tag.teal{background:var(--soft);color:var(--brand)}.pvq-app .tag.amber{background:var(--amber-soft);color:var(--amber)}.pvq-app .tag.blue{background:#eff6ff;color:var(--blue)}.pvq-app .tag.red{background:#fef2f2;color:var(--danger)}.pvq-app .hint{font-size:10.5px;color:#94a3b8;line-height:1.55}.pvq-app .hint.warn{color:var(--amber)}.pvq-app .hint b{color:#64748b}.pvq-app .field{margin-bottom:7px}.pvq-app .field label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;font-weight:600}.pvq-app .inp-wrap{position:relative}.pvq-app input[type=text], .pvq-app input[type=number], .pvq-app select{width:100%;padding:6px 9px;border:1px solid #dbe2ea;border-radius:6px;background:#fff;font-size:12.5px;font-weight:600;color:#1e293b;outline:none;transition:.15s}.pvq-app input:hover, .pvq-app select:hover{border-color:#c3cedb}.pvq-app input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.pvq-app input:focus, .pvq-app select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(20,184,166,.14)}.pvq-app input[type=number]{padding-right:36px;-moz-appearance:textfield;appearance:textfield}.pvq-app input[type=number]::-webkit-outer-spin-button, .pvq-app input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pvq-app .unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:#94a3b8;pointer-events:none;font-weight:600}.pvq-app select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 9px center;padding-right:26px}.pvq-app select:disabled{background:#f8fafc;color:#94a3b8}.pvq-app .inline-unit{display:grid;grid-template-columns:1fr 74px;gap:6px}.pvq-app .seg{display:inline-flex;background:#eef1f5;border-radius:7px;padding:2px;gap:1px}.pvq-app .seg button{padding:4px 9px;border-radius:5px;font-size:11px;font-weight:650;color:#64748b}.pvq-app .seg button.on{background:#fff;color:var(--brand);box-shadow:0 1px 2px rgba(0,0,0,.08)}.pvq-app .divider{height:1px;background:#eef2f7;margin:9px 0}.pvq-app .mgrid{display:grid;gap:9px}.pvq-app .mgrid.c4{grid-template-columns:repeat(4,1fr)}.pvq-app .mgrid.c3{grid-template-columns:repeat(3,1fr)}.pvq-app .mgrid.c2{grid-template-columns:repeat(2,1fr)}.pvq-app .mbox{border:1px solid #eef2f7;border-radius:8px;padding:10px 11px;background:#fbfcfd;min-width:0}.pvq-app .mbox .t{font-size:10.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvq-app .mbox .v{font-size:19px;font-weight:750;margin-top:3px;letter-spacing:-.3px;white-space:nowrap}.pvq-app .mbox .v small{font-size:10px;font-weight:600;color:#94a3b8;margin-left:2px}.pvq-app .mbox .s{font-size:10px;color:#94a3b8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvq-app .mbox.teal{background:linear-gradient(160deg,#f0fdfa,#fff);border-color:#ccfbf1}.pvq-app .mbox.teal .v{color:var(--brand)}.pvq-app .mbox.amber{background:linear-gradient(160deg,#fffbeb,#fff);border-color:#fde68a}.pvq-app .mbox.amber .v{color:var(--amber)}.pvq-app .bars{display:flex;align-items:flex-end;gap:5px;height:118px;padding-top:6px}.pvq-app .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.pvq-app .bar-col .bar{width:100%;max-width:26px;background:linear-gradient(180deg,#2dd4bf,#0f766e);border-radius:3px 3px 0 0;transition:height .3s;position:relative}.pvq-app .bar-col .bar:hover{filter:brightness(1.1)}.pvq-app .bar-col .bl{font-size:9px;color:#94a3b8;white-space:nowrap}.pvq-app .bar-col .bv{font-size:9px;color:#64748b;font-weight:650;white-space:nowrap}.pvq-app .axis{font-size:9.5px;color:#94a3b8;display:flex;justify-content:space-between;margin-top:4px}.pvq-app .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pvq-app table{width:100%;border-collapse:collapse;font-size:12px}.pvq-app thead th{background:#f8fafc;font-size:10.5px;font-weight:700;color:#64748b;text-align:left;padding:8px 9px;border-bottom:1px solid var(--line);white-space:nowrap;letter-spacing:.2px}.pvq-app thead th.num{text-align:right}.pvq-app tbody td{padding:6px 9px;border-bottom:1px solid #f1f4f8;vertical-align:middle}.pvq-app tbody tr:hover{background:#fbfcfd}.pvq-app tbody td.num{text-align:right;font-weight:600;white-space:nowrap}.pvq-app .cat-row td{background:#f8fafc;font-weight:700;font-size:11px;color:#475569;padding:5px 9px;letter-spacing:.3px}.pvq-app .cat-row .cat-sum{float:right;color:#334155;font-weight:750}.pvq-app .item-name{font-weight:600;color:#1e293b;display:flex;align-items:center;gap:5px}.pvq-app .note{font-size:10px;color:#94a3b8;margin-top:1px;line-height:1.4}.pvq-app .dot{width:5px;height:5px;border-radius:50%;background:var(--amber);flex:none;display:none}.pvq-app tr.locked .dot{display:block}.pvq-app tr.custom td:first-child{color:var(--blue)}.pvq-app td input.cell{width:78px;padding:3px 5px;text-align:right;font-size:11.5px;font-weight:650;border:1px dashed #cfd8e3;background:#fff;border-radius:5px}.pvq-app td input.cell:focus{border-color:var(--brand2)}.pvq-app td input.cell.qty{width:70px}.pvq-app .del{width:20px;height:20px;border-radius:4px;color:#cbd5e1;font-size:14px;line-height:1;display:grid;place-items:center}.pvq-app .del:hover{background:#fef2f2;color:var(--danger)}.pvq-app .share{display:flex;align-items:center;gap:5px;justify-content:flex-end}.pvq-app .bar-bg{width:38px;height:4px;background:#eef2f6;border-radius:2px;overflow:hidden}.pvq-app .bar-fill{height:100%;background:var(--brand2);border-radius:2px}.pvq-app tfoot td{padding:8px 9px;font-weight:700;border-top:1px solid var(--line);font-size:12px}.pvq-app tfoot tr.total td{background:#f0fdfa;color:#0f766e;font-size:13px;border-top:2px solid #99f6e4}.pvq-app .muted{color:var(--muted);font-weight:400}.pvq-app .sum-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:16px}.pvq-app .sum-grid>div:last-child{padding-left:16px;border-left:1px solid #eef2f7}.pvq-app .sum-list{display:flex;flex-direction:column}.pvq-app .sum-row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed #eef2f7;font-size:12px}.pvq-app .sum-row:last-child{border-bottom:none}.pvq-app .sum-row .lab{color:#64748b}.pvq-app .sum-row .val{font-weight:650;color:#1e293b;white-space:nowrap}.pvq-app .sum-row.big{padding-top:9px;margin-top:2px;border-top:1px solid var(--line);border-bottom:none;font-size:13px}.pvq-app .sum-row.big .val{color:var(--brand);font-size:16px;font-weight:750}.pvq-app .sum-row.neg .val{color:var(--danger)}.pvq-app .calc-note{font-size:10px;color:#94a3b8;line-height:1.6;margin-top:9px;padding-top:9px;border-top:1px dashed #eef2f7}.pvq-app .chart{display:flex;flex-direction:column;gap:7px}.pvq-app .chart-row{display:grid;grid-template-columns:88px 1fr 70px;align-items:center;gap:8px;font-size:11px}.pvq-app .chart-row .nm{color:#475569;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvq-app .chart-row .track{height:14px;background:#f1f5f9;border-radius:4px;overflow:hidden}.pvq-app .chart-row .fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#0f766e,#2dd4bf);transition:width .25s}.pvq-app .chart-row .vl{text-align:right;font-weight:650;color:#334155;font-size:10.5px;white-space:nowrap}.pvq-app .sens{width:100%;border-collapse:collapse;font-size:11.5px;min-width:480px}.pvq-app .sens th, .pvq-app .sens td{padding:6px 7px;text-align:center;border:1px solid #eef2f7;white-space:nowrap}.pvq-app .sens th{background:#f8fafc;color:#64748b;font-weight:700;font-size:10.5px}.pvq-app .sens td.rowh{background:#f8fafc;font-weight:700;color:#475569;text-align:left}.pvq-app .sens td.hi{background:#f0fdfa;font-weight:750;color:var(--brand)}.pvq-app .sens td.low{background:#fff7ed;color:#c2410c;font-weight:650}.pvq-app .ygrid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;align-items:start}.pvq-app .cf-table{max-height:400px;overflow:auto}.pvq-app .cf-table thead th{position:sticky;top:0;z-index:2}.pvq-app .neg{color:var(--danger)}.pvq-app .pos{color:#047857}.pvq-app svg.line{display:block;width:100%;height:170px}.pvq-app .toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#0f172a;color:#fff;padding:9px 16px;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:99}.pvq-app .toast.show{opacity:1;transform:translate(-50%,0)}.pvq-app .print-head{display:none}@media (max-width:1180px){.pvq-app .cols{grid-template-columns:1fr}.pvq-app .kpis{grid-template-columns:repeat(3,1fr)}.pvq-app .ygrid{grid-template-columns:1fr}.pvq-app .mgrid.c4{grid-template-columns:repeat(2,1fr)}.pvq-app .sum-grid{grid-template-columns:1fr}.pvq-app .sum-grid>div:last-child{padding-left:0;border-left:none;border-top:1px solid #eef2f7;padding-top:12px}}@media (max-width:640px){.pvq-app .hd{padding:8px 12px;gap:8px}.pvq-app .brand{min-width:0}.pvq-app .brand p{display:none}.pvq-app .tabs{order:3;width:100%;overflow-x:auto}.pvq-app .tab{flex:1;padding:7px 8px;font-size:11.5px}.pvq-app .actions{margin-left:0}.pvq-app .save-tag{display:none}.pvq-app .wrap{padding:10px 12px 30px}.pvq-app .kpis{grid-template-columns:repeat(2,1fr)}.pvq-app .mgrid.c4, .pvq-app .mgrid.c3{grid-template-columns:repeat(2,1fr)}.pvq-app .grid2, .pvq-app .grid3, .pvq-app .grid4{grid-template-columns:1fr}}.pvq-app .chips{display:flex;gap:4px;flex-wrap:wrap}.pvq-app .chips button{padding:3px 8px;border:1px solid #dbe2ea;border-radius:20px;font-size:11px;font-weight:650;color:#475569;background:#fff}.pvq-app .chips button:hover{border-color:var(--brand2);color:var(--brand);background:var(--soft2)}.pvq-app .chips button.on{background:var(--brand);border-color:var(--brand);color:#fff}.pvq-app .modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;z-index:80;padding:16px}.pvq-app .modal.show{display:flex}.pvq-app .modal-box{background:#fff;border-radius:12px;width:440px;max-width:100%;box-shadow:0 20px 50px rgba(15,23,42,.25);overflow:hidden}.pvq-app .modal-hd{display:flex;align-items:center;gap:8px;padding:13px 16px;border-bottom:1px solid #eef2f7;font-size:13.5px}.pvq-app .modal-bd{padding:14px 16px}.pvq-app .modal-ft{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:#fbfcfd;border-top:1px solid #eef2f7}@page {size:A4;margin:12mm}@media print{.pvq-app{background:#fff;font-size:10.5px}.pvq-app header, .pvq-app .actions, .pvq-app .toast, .pvq-app #pvq-unitSeg, .pvq-app #pvq-moneySeg, .pvq-app .del, .pvq-app .btn, .pvq-app .chips{display:none!important}.pvq-app .wrap{padding:0;max-width:none}.pvq-app .tabpane{display:block!important;page-break-before:always}.pvq-app .tabpane:first-of-type{page-break-before:auto}.pvq-app .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pvq-app .kpi{padding:7px 8px}.pvq-app .kpi .v{font-size:15px}.pvq-app .kpi .k, .pvq-app .kpi .sub{font-size:8px}.pvq-app .kpi .u{font-size:8px}.pvq-app .card-bd{padding:8px 10px}.pvq-app .mgrid{gap:6px}.pvq-app .mbox{padding:7px 8px}.pvq-app .mbox .v{font-size:15px}.pvq-app .mbox .t, .pvq-app .mbox .s{font-size:8px}.pvq-app .bars{height:86px}.pvq-app .card-hd{padding:8px 10px}.pvq-app .cols, .pvq-app .ygrid{grid-template-columns:1fr}.pvq-app .mgrid.c4{grid-template-columns:repeat(4,1fr)}.pvq-app .mgrid.c3{grid-template-columns:repeat(3,1fr)}.pvq-app .grid4{grid-template-columns:repeat(4,1fr)}.pvq-app .card{box-shadow:none;break-inside:auto;border-color:#dbe2ea}.pvq-app .card-hd{break-after:avoid}.pvq-app tr{break-inside:avoid}.pvq-app thead{display:table-header-group}.pvq-app .print-head{display:block;margin:0 0 10px}.pvq-app .print-head h2{font-size:17px}.pvq-app .print-head p{font-size:10.5px;color:#64748b;margin-top:2px}.pvq-app input::placeholder{color:transparent!important}.pvq-app .field:has(#pvq-wpChips){display:none!important}.pvq-app input, .pvq-app select{border:none!important;background:transparent!important;box-shadow:none!important;appearance:none;padding:3px 0!important;line-height:1.7!important;height:23px!important;font-size:10.5px!important}.pvq-app td input.cell{border:none;background:transparent;width:100%!important;min-width:0;padding:0!important;font-size:8px!important}.pvq-app td input.cell.qty{width:100%!important}.pvq-app .cf-table{max-height:none;overflow:visible}.pvq-app .tbl-wrap{overflow:visible!important}.pvq-app table{font-size:8px;table-layout:fixed;width:100%!important;min-width:0!important}.pvq-app thead th{padding:3px 4px;font-size:7.5px}.pvq-app tbody td{padding:3px 4px}.pvq-app .cat-row td{padding:3px 4px}.pvq-app .note{font-size:7px;line-height:1.3}.pvq-app #pvq-quoteTable th:nth-child(1){width:20px!important}.pvq-app #pvq-quoteTable th:nth-child(2){width:18%!important}.pvq-app #pvq-quoteTable th:nth-child(3){width:27%!important}.pvq-app #pvq-quoteTable th:nth-child(4){width:50px!important}.pvq-app #pvq-quoteTable th:nth-child(5){width:26px!important}.pvq-app #pvq-quoteTable th:nth-child(6){width:56px!important}.pvq-app #pvq-quoteTable th:nth-child(7){width:56px!important}.pvq-app #pvq-quoteTable th:nth-child(8){width:50px!important}.pvq-app #pvq-quoteTable th:nth-child(9){width:44px!important}.pvq-app #pvq-quoteTable td:nth-child(2){white-space:normal}.pvq-app #pvq-quoteTable th:nth-child(10){display:none}.pvq-app #pvq-quoteTable td:nth-child(10){display:none}.pvq-app #pvq-quoteTable td:nth-child(3){white-space:normal}.pvq-app #pvq-cfTable th:nth-child(1){width:28px}.pvq-app #pvq-cfTable{font-size:7.5px}.pvq-app .share .bar-bg{display:none}.pvq-app .cf-table{max-height:none;overflow:visible}}

/* 容器宽度自适应：主题内容区常窄于视口 */
.pvq-app.pvq-narrow .cols{grid-template-columns:1fr}
.pvq-app.pvq-narrow .kpis{grid-template-columns:repeat(3,1fr)}
.pvq-app.pvq-narrow .ygrid{grid-template-columns:1fr}
.pvq-app.pvq-narrow .mgrid.c4{grid-template-columns:repeat(2,1fr)}
.pvq-app.pvq-narrow .sum-grid{grid-template-columns:1fr}
.pvq-app.pvq-narrow .sum-grid>div:last-child{padding-left:0;border-left:none;border-top:1px solid #eef2f7;padding-top:12px}
.pvq-app.pvq-mobile .hd{padding:8px 12px;gap:8px}
.pvq-app.pvq-mobile .brand{min-width:0}
.pvq-app.pvq-mobile .brand p{display:none}
.pvq-app.pvq-mobile .tabs{order:3;width:100%;overflow-x:auto}
.pvq-app.pvq-mobile .tab{flex:1;padding:7px 8px;font-size:11.5px}
.pvq-app.pvq-mobile .actions{margin-left:0}
.pvq-app.pvq-mobile .save-tag{display:none}
.pvq-app.pvq-mobile .wrap{padding:10px 12px 30px}
.pvq-app.pvq-mobile .kpis{grid-template-columns:repeat(2,1fr)}
.pvq-app.pvq-mobile .mgrid.c4,.pvq-app.pvq-mobile .mgrid.c3{grid-template-columns:repeat(2,1fr)}
.pvq-app.pvq-mobile .grid2,.pvq-app.pvq-mobile .grid3,.pvq-app.pvq-mobile .grid4{grid-template-columns:1fr}

/* 云端记录 / 登录提示 */
.pvq-app .pvq-cloud-box{width:780px;max-width:100%}
.pvq-app .pvq-cloud-list{max-height:56vh;overflow:auto}
.pvq-app .pvq-cloud-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f7}
.pvq-app .pvq-cloud-row:last-child{border-bottom:none}
.pvq-app .pvq-cloud-main{flex:1;min-width:0}
.pvq-app .pvq-cloud-main b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pvq-app .pvq-cloud-meta{font-size:10.5px;color:#94a3b8;margin-top:3px;line-height:1.6}
.pvq-app .pvq-cloud-act{display:flex;gap:6px;flex:none}
.pvq-app .pvq-cloud-empty{text-align:center;color:#94a3b8;font-size:12px;padding:28px 0;line-height:1.8}
.pvq-app .pvq-cloud-msg{color:#b91c1c;font-size:11.5px;padding:8px 0}
.pvq-app.pvq-gate-wrap{max-width:720px;margin:30px auto;background:transparent;border-radius:0}
.pvq-app .pvq-gate{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:30px 26px;text-align:center;box-shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.08)}
.pvq-app .pvq-gate h2{font-size:18px;margin-bottom:8px;color:#0f172a}
.pvq-app .pvq-gate p{font-size:13px;color:#64748b;line-height:1.8;margin-bottom:18px}
.pvq-app .pvq-gate .btn{padding:8px 20px;font-size:13px}
/* ================= WordPress integration ================= */
.pvq-app{position:relative;isolation:isolate;max-width:100%;margin:0 auto;background:var(--bg);border-radius:10px}
.pvq-app .wrap{padding-left:0;padding-right:0}
body.admin-bar .pvq-app header{top:32px}
@media screen and (max-width:782px){body.admin-bar .pvq-app header{top:46px}}
.pvq-app .pvq-loading{position:absolute;inset:0;z-index:95;background:#f2f5f7;display:flex;align-items:center;justify-content:center;min-height:460px;border-radius:10px}
.pvq-app .pvq-loading-box{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.08);border-radius:10px;padding:20px 26px;color:#475569;font-size:13px;line-height:1.7;text-align:center;max-width:520px}
.pvq-app .pvq-loading-box b{color:#0f766e}
.pvq-app .pvq-loading-box.pvq-error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}
@media print{
  body *{visibility:hidden!important}
  .pvq-app,.pvq-app *{visibility:visible!important}
  .pvq-app{position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important;border-radius:0!important}
  .pvq-app .pvq-loading{display:none!important}
}

/* ================= v2.0.0 身份路由与独立页面 ================= */
.pvq-identity-screen{position:fixed;inset:0;z-index:200;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#134e4a 100%);display:flex;align-items:center;justify-content:center;padding:24px}
.pvq-identity-inner{width:100%;max-width:960px}
.pvq-identity-head{text-align:center;color:#fff;margin-bottom:28px}
.pvq-identity-head h2{margin:0 0 8px;font-size:26px;font-weight:700;color:#fff}
.pvq-identity-head p{margin:0;font-size:14px;opacity:.85}
.pvq-identity-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:780px){.pvq-identity-cards{grid-template-columns:1fr}}
.pvq-id-card{background:#fff;border-radius:14px;padding:26px 22px;cursor:pointer;text-align:center;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.pvq-id-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.25)}
.pvq-id-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:14px;background:#ccfbf1;color:#0f766e;display:flex;align-items:center;justify-content:center}
.pvq-id-icon svg{width:30px;height:30px}
.pvq-id-card h3{margin:0 0 8px;font-size:18px;color:#0f172a}
.pvq-id-card p{margin:0;font-size:12.5px;color:#64748b;line-height:1.6}
.pvq-id-badge{background:#0f766e!important;color:#fff!important;border-radius:999px;padding:3px 12px;font-weight:600}
.pvq-app.pvq-mode-quote #pvq-btnCsv{background:#0f766e;color:#fff;font-weight:700;padding:8px 20px}
.pvq-app.pvq-mode-quote #pvq-btnPrint{background:#b45309;color:#fff;font-weight:700;padding:8px 20px}
/* v2.0.1 修复：身份屏脱离 .pvq-app 层叠上下文，铺满视口 */
.pvq-identity-screen{z-index:99999!important;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#134e4a 100%)!important;overflow:auto}
body.pvq-identity-open #pvq-app{visibility:hidden}
/* ================= v2.1 全屏化操作界面 ================= */
.pvq-app{background:transparent!important;border-radius:0!important;max-width:100%!important;margin:0!important}
.pvq-app .hd{max-width:100%!important;padding:10px 28px}
.pvq-app .wrap{max-width:100%!important;padding:16px 28px 60px}
.pvq-app .kpis{gap:12px;margin-bottom:16px}
.pvq-app .cols{gap:18px}
.pvq-app .col-left,.pvq-app .col-right{gap:18px}
body.pvq-full .entry-content, body.pvq-full .site-content, body.pvq-full .content-area{max-width:100%!important;padding-left:0!important;padding-right:0!important}

/* 可研报告 / 工期 / 成本导出 通用样式 */
.pvq-report{background:#fff;border:1px solid var(--line);border-radius:12px;padding:40px 48px;max-width:980px;margin:0 auto;font-size:13.5px;line-height:1.85;color:#1e293b}
.pvq-report h1{font-size:24px;text-align:center;margin:18px 0 6px;color:#0f172a}
.pvq-report h2{font-size:17px;margin:26px 0 10px;padding-left:10px;border-left:4px solid #0f766e;color:#0f766e}
.pvq-report h3{font-size:14.5px;margin:16px 0 6px;color:#334155}
.pvq-report p{margin:6px 0;text-align:justify}
.pvq-report .cover{text-align:center;padding:60px 0 30px;border-bottom:2px solid #0f766e;margin-bottom:20px}
.pvq-report .cover .sub{font-size:14px;color:#64748b;margin-top:10px}
.pvq-report table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12.5px}
.pvq-report th,.pvq-report td{border:1px solid #cbd5e1;padding:6px 9px;text-align:left}
.pvq-report th{background:#f0fdfa;font-weight:700}
.pvq-report .kv{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;margin:10px 0}
.pvq-report .kv div{border-bottom:1px dashed #e2e8f0;padding:4px 0}
.pvq-report .note{font-size:11.5px;color:#64748b}
.pvq-gantt{display:flex;flex-direction:column;gap:5px;margin:10px 0}
.pvq-gantt .row{display:grid;grid-template-columns:180px 1fr;gap:10px;align-items:center;font-size:11.5px}
.pvq-gantt .track{position:relative;height:18px;background:#f1f5f9;border-radius:4px}
.pvq-gantt .bar{position:absolute;height:100%;background:linear-gradient(90deg,#0f766e,#2dd4bf);border-radius:4px;font-size:10px;color:#fff;display:flex;align-items:center;padding:0 6px;white-space:nowrap}
.pvq-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}
@media print{.pvq-report{border:none;max-width:100%;padding:0}.pvq-toolbar{display:none}}