*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#223047;font:14px/1.5 system-ui,"Microsoft YaHei",sans-serif}.shell{display:flex;min-height:100vh}aside{width:258px;background:#123d39;color:white;padding:30px 20px;flex-shrink:0}aside h2{font-size:25px;margin:0}aside h2 span{font-size:11px;letter-spacing:2px;color:#9ad6bf}aside p{color:#aed0c6;margin-bottom:36px}nav{display:grid;gap:8px}.tab{width:100%;text-align:left;border:0;background:transparent;color:#d6e8e3;padding:13px;border-radius:8px;cursor:pointer}.tab.active,.tab:hover{background:#286359;color:#fff}.notice{margin-top:45px;padding:15px;border:1px solid #5d8a80;border-radius:8px;color:#d5e7e2;font-size:12px}main{flex:1;padding:34px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header small{color:#438176;letter-spacing:2px}h1{font-size:28px;margin:4px 0}header p{color:#728195;margin:0}.pill{border-radius:30px;padding:8px 12px;background:#e4eee9;color:#216454;font-size:11px;font-weight:700}.filters,.table-card,.summary>div{background:white;border:1px solid #e7eaf0;border-radius:12px;box-shadow:0 5px 16px #152b4210}.filters{padding:20px;display:flex;align-items:end;flex-wrap:wrap;gap:15px}.filters label{display:grid;gap:6px;color:#53647a;font-size:12px}.filters input,.filters select{height:39px;padding:8px 10px;border:1px solid #d9dfe7;border-radius:6px;min-width:160px}.actions{display:flex;gap:8px}button{cursor:pointer;font:inherit}#search,.secondary{border:0;padding:10px 18px;background:#176b60;color:white;border-radius:7px}.secondary{background:#edf2f4;color:#37544f}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.summary>div{padding:22px}.summary small{display:block;color:#7a899b}.summary strong{font-size:25px}.table-title{padding:19px 20px;display:flex;justify-content:space-between;align-items:center}.table-title h3{margin:0}.table-title span{color:#789} .scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:13px 16px;border-top:1px solid #eef1f5}th{color:#6b7b8d;background:#f9fbfc;font-size:12px}tbody tr:hover{background:#f7faf9}.pager{display:flex;justify-content:flex-end;gap:15px;align-items:center;padding:15px}footer{color:#8895a5;margin-top:20px;font-size:12px}@media(max-width:840px){.shell{display:block}aside{width:100%;padding:15px}nav{display:flex;overflow:auto}.notice{display:none}main{padding:15px}.summary{grid-template-columns:1fr}.pill{display:none}}
/* 查询期间的明确加载提示，覆盖表格区域并阻止重复操作 */
.table-card{position:relative;min-height:210px}
.loading-overlay{display:none;position:absolute;inset:0;z-index:5;background:rgba(246,250,249,.88);align-items:center;justify-content:center;backdrop-filter:blur(1px)}
.loading-overlay.visible{display:flex}
.loading-panel{display:flex;align-items:center;flex-direction:column;gap:10px;background:#fff;border:1px solid #dfeae7;border-radius:12px;padding:22px 34px;box-shadow:0 8px 28px #122e2b22;color:#215e55}
.loading-panel strong{font-size:16px}
.loading-panel #loading-detail{font-size:12px;color:#667d79}
.spinner{height:34px;width:34px;border-radius:50%;border:4px solid #cfe5de;border-top-color:#176b60;animation:vue-spin .8s linear infinite}
@keyframes vue-spin{to{transform:rotate(360deg)}}
/* 汇总位于表格底部，字段顺序与明细一致。 */
tfoot td{font-weight:700;background:#edf7f3;border-top:2px solid #b5d8ce}
button:disabled{opacity:.56;cursor:not-allowed}

[hidden]{display:none!important}.filters input[type=checkbox]{min-width:20px;width:20px;height:20px}.table-title{gap:12px;flex-wrap:wrap}.table-title a{color:#176b60;text-decoration:underline;cursor:pointer}.loading-panel{max-width:90%;text-align:center}

/* 日期显示不依赖浏览器区域设置，统一 24 小时制并显示秒。 */
.filters .date-time-text{width:220px;font-variant-numeric:tabular-nums;padding-left:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none' stroke='%2395a4b8'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M8 4v4h3'/%3E%3C/svg%3E") no-repeat 10px center;}
.datetime-input{position:relative;display:block}.filters .datetime-input .date-time-text{padding-right:34px;width:244px}.datetime-open{position:absolute;right:3px;top:3px;bottom:3px;width:30px;padding:0;background:transparent;color:#176b60;border:0;cursor:pointer;font-size:20px}.datetime-dialog{width:340px;max-width:calc(100vw - 24px);border:1px solid #d7e2e9;border-radius:12px;padding:20px;color:#223047;box-shadow:0 12px 48px #123d3933}.datetime-dialog::backdrop{background:#172d4440}.datetime-dialog h3{margin:0 0 16px;font-size:16px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-nav button{padding:2px 12px;font-size:24px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-week{color:#7a899b;font-size:12px;margin-bottom:8px}.calendar-days button{padding:8px 0;border:0;background:#f3f6f8;color:#223047;border-radius:5px;cursor:pointer}.calendar-days button:hover{background:#e1eee9}.calendar-days button.selected{background:#176b60;color:white}.calendar-time{display:flex;gap:10px;margin-top:18px}.calendar-time label{flex:1;font-size:12px;color:#6b7b8d}.calendar-time select{display:block;width:100%;padding:7px;margin-top:4px;border:1px solid #d7e2e9;border-radius:5px;background:white;color:#223047}.calendar-selection{font-variant-numeric:tabular-nums;text-align:center;font-size:14px}.calendar-actions{display:flex;gap:6px;justify-content:flex-end}.calendar-actions button,.calendar-nav button{border:1px solid #d7e2e9;border-radius:5px;background:white;color:#176b60;cursor:pointer}.calendar-actions button{padding:7px 10px}.calendar-actions [data-action=apply]{background:#176b60;color:white}.datetime-dialog button:focus-visible,.datetime-open:focus-visible{outline:2px solid #176b60;outline-offset:2px}

/* Business-facing layout: keep operational diagnostics out of the report. */
.technical-only{display:none!important}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary.equity-summary{grid-template-columns:minmax(180px,320px)}.query-note{color:#65758a;font-size:12px;margin:10px 2px 0}.table-title #status{overflow-wrap:anywhere}@media(max-width:840px){.summary,.summary.equity-summary{grid-template-columns:1fr}}
