.board-section{margin-bottom:20px;background:var(--bd-bg, #fff);border:1px solid var(--bd-border, #e9ebef);border-radius:12px;overflow:hidden}.board-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid var(--bd-border, #eef0f3);background:linear-gradient(180deg,rgba(232,70,60,.035),transparent)}.board-section-title-wrap{display:flex;align-items:flex-start;gap:10px;min-width:0}.board-section-index{flex:0 0 auto;width:22px;height:22px;border-radius:6px;background:#e8463c;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.board-section-title{font-size:15px;font-weight:650;margin:0;color:var(--bd-text-primary, #1f2329)}.board-section-subtitle{margin:4px 0 0;font-size:11.5px;color:var(--bd-text-secondary, #86909c);line-height:1.55}.board-section-extra{flex:0 0 auto;font-size:12px;color:var(--bd-text-secondary, #86909c)}.board-section-body{padding:16px 18px}.kpi-card{background:var(--bd-bg-elevated, #fff);border:1px solid var(--bd-border, #e9ebef);border-top:3px solid var(--bd-primary, #e8463c);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.kpi-label{font-size:12px;color:var(--bd-text-secondary, #86909c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{font-size:24px;font-weight:650;line-height:1.15;color:var(--bd-text-primary, #1f2329);font-variant-numeric:tabular-nums}.kpi-value.tone-up{color:#d9433a}.kpi-value.tone-down{color:#2f9e44}.kpi-value.tone-warn{color:#d97706}.kpi-desc{font-size:11px;color:var(--bd-text-secondary, #86909c);line-height:1.5}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.data-table th{position:sticky;top:0;background:#f7f8fa;color:var(--bd-text-secondary, #5c6370);font-weight:600;text-align:right;padding:8px 10px;white-space:nowrap;border-bottom:1px solid var(--bd-border, #e9ebef)}.data-table th.align-left,.data-table td.align-left{text-align:left}.data-table td{padding:7px 10px;text-align:right;border-bottom:1px solid #f2f4f7;color:var(--bd-text-primary, #1f2329);white-space:nowrap}.data-table tbody tr:hover{background:#fafbfc}.data-table td.num{font-variant-numeric:tabular-nums}.table-empty{padding:28px;text-align:center;color:var(--bd-text-secondary, #86909c);font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:12px}.chart-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.chart-block{min-width:0;border:1px solid var(--bd-border, #eef0f3);border-radius:10px;padding:10px 12px 4px;background:var(--bd-bg-elevated, #fff)}.chart-block-full{margin-top:14px}.chart-title{font-size:12.5px;font-weight:600;margin:0 0 6px;color:var(--bd-text-primary, #1f2329);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chart-title-hint{font-size:11px;font-weight:400;color:var(--bd-text-secondary, #86909c)}.aips-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.aips-card{border:1px solid var(--bd-border, #e9ebef);border-top:3px solid #e8463c;border-radius:10px;padding:12px 14px;background:var(--bd-bg-elevated, #fff)}.aips-card-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.aips-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 auto}.aips-card-title{font-size:13px;font-weight:650;color:var(--bd-text-primary, #1f2329)}.aips-card-meta{font-size:10.5px;color:var(--bd-text-secondary, #86909c);margin-top:2px}.aips-dates{font-size:10.5px;color:var(--bd-text-secondary, #86909c);padding:5px 8px;background:#f7f8fa;border-radius:6px;margin-bottom:8px;font-variant-numeric:tabular-nums}.aips-rows{display:flex;flex-direction:column;gap:2px}.aips-row{display:grid;grid-template-columns:78px 1fr auto 1fr auto;align-items:center;gap:4px;font-size:11.5px;padding:3px 0;border-bottom:1px dashed #f2f4f7;font-variant-numeric:tabular-nums}.aips-row:last-child{border-bottom:none}.aips-row-label{color:var(--bd-text-secondary, #86909c);font-size:11px}.aips-row-val{text-align:right;color:var(--bd-text-primary, #5c6370)}.aips-row-val.strong{font-weight:650;color:var(--bd-text-primary, #1f2329)}.aips-row-arrow{color:#c0c6cf;font-size:10px}.aips-row-pct{text-align:right;font-size:10.5px;font-weight:600;min-width:52px}.aips-row-pct.up{color:#d9433a}.aips-row-pct.down{color:#2f9e44}.aips-natural{margin-top:8px;padding-top:7px;border-top:1px solid #f2f4f7;font-size:10.5px;color:var(--bd-text-secondary, #86909c);line-height:1.55;display:flex;flex-direction:column;gap:3px}.aips-natural-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}.aips-natural-k{flex:0 0 auto;color:#a0a6b0}.aips-natural-row.net{margin-top:2px;padding-top:4px;border-top:1px dashed #f2f4f7;color:var(--bd-text-primary, #1f2329);font-weight:600}.aips-natural-row.net .aips-natural-k{font-weight:400}.aips-empty{padding:24px 8px;text-align:center;font-size:11.5px;color:var(--bd-text-secondary, #86909c)}.aips-trend-block{margin-top:16px}.spill-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.spill-card{border:1px solid var(--bd-border, #e9ebef);border-left:3px solid #3f7fd6;border-radius:10px;padding:11px 13px;background:var(--bd-bg-elevated, #fff)}.spill-title{font-size:12.5px;font-weight:650;margin-bottom:8px;color:var(--bd-text-primary, #1f2329)}.spill-metrics{display:flex;flex-direction:column;gap:6px}.spill-metrics>div{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:6px;font-size:11.5px;font-variant-numeric:tabular-nums}.spill-k{color:var(--bd-text-secondary, #86909c);font-size:11px}.spill-v{text-align:right;color:var(--bd-text-primary, #1f2329);font-weight:550}.spill-pct{font-size:10.5px;font-weight:600;text-align:right;min-width:52px}.spill-pct.up{color:#d9433a}.spill-pct.down{color:#2f9e44}.caliber-note{border:1px dashed var(--bd-border, #d8dce3);border-radius:10px;padding:14px 18px;background:#fafbfc}.caliber-note h4{font-size:12.5px;font-weight:650;margin:0 0 8px;color:var(--bd-text-primary, #1f2329)}.caliber-note ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.caliber-note li{font-size:11.5px;line-height:1.65;color:var(--bd-text-secondary, #5c6370)}.caliber-note strong{color:var(--bd-text-primary, #1f2329);font-weight:600}.cost-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.cost-mini{border:1px solid var(--bd-border, #eef0f3);border-radius:8px;padding:9px 12px;background:#fafbfc;display:flex;flex-direction:column;gap:4px}.cost-mini-label{font-size:11px;color:var(--bd-text-secondary, #86909c)}.cost-mini-value{font-size:18px;font-weight:650;color:var(--bd-text-primary, #1f2329);font-variant-numeric:tabular-nums}.cost-mini-value.good{color:#2f9e44}.cost-mini-value.bad{color:#d9433a}.cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.cost-col{min-width:0}.cost-col-title{font-size:12px;font-weight:650;color:var(--bd-text-primary, #1f2329);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #f2f4f7}.cost-row{padding:8px 0;border-bottom:1px dashed #f2f4f7}.cost-row:last-child{border-bottom:none}.cost-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.cost-row-label{font-size:11.5px;color:var(--bd-text-secondary, #5c6370)}.cost-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.cost-badge.good{color:#2f9e44;background:#ebfbee}.cost-badge.bad{color:#d9433a;background:#fff1f0}.cost-badge.flat{color:#86909c;background:#f2f4f7}.cost-row-vals{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.cost-self{font-size:16px;font-weight:650;color:var(--bd-text-primary, #1f2329)}.cost-self.good{color:#2f9e44}.cost-self.bad{color:#d9433a}.cost-vs{font-size:10.5px;color:#a0a6b0}.cost-bench{font-size:12px;color:var(--bd-text-secondary, #86909c)}.cost-nobench{font-size:10.5px;color:#c0c6cf}.cost-dod{font-size:10px;color:#a0a6b0;margin-top:2px;font-variant-numeric:tabular-nums}.struct-bars{display:flex;flex-direction:column;gap:7px}.struct-row{display:grid;grid-template-columns:62px 1fr 42px;align-items:center;gap:8px;font-size:11px}.struct-label{color:var(--bd-text-secondary, #86909c)}.struct-track{height:8px;background:#f2f4f7;border-radius:4px;overflow:hidden}.struct-fill{display:block;height:100%;border-radius:4px;transition:width .3s}.struct-pct{text-align:right;color:var(--bd-text-primary, #1f2329);font-weight:600;font-variant-numeric:tabular-nums}.struct-warn{margin-top:10px;padding:8px 10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;font-size:10.5px;line-height:1.6;color:#b45309}.cost-verdict{margin-top:14px;padding-top:12px;border-top:1px solid #f2f4f7;display:flex;flex-direction:column;gap:6px}.verdict-line{font-size:11.5px;line-height:1.6;font-variant-numeric:tabular-nums}.verdict-line.good{color:#2f7a44}.verdict-line.bad{color:#b8332a}.verdict-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;margin-right:6px;color:#fff}.verdict-line.good .verdict-tag{background:#2f9e44}.verdict-line.bad .verdict-tag{background:#d9433a}.kpi-band-label{font-size:11px;font-weight:600;color:var(--bd-text-secondary, #86909c);margin:2px 0 8px;padding-left:2px}.kpi-grid-daily{margin-bottom:16px}.kpi-grid-daily .kpi-card{border-top-color:#3f7fd6;background:#fafbfd}.dod-up{color:#d9433a;font-weight:600}.dod-down{color:#2f9e44;font-weight:600}.miniapp-root{display:flex;flex-direction:column;height:100%;min-height:320px;padding:16px 20px;box-sizing:border-box;color:var(--bd-text-primary, #1f2329);background:var(--bd-bg, #ffffff);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif}.miniapp-header{border-bottom:1px solid var(--bd-border, #e5e6eb);padding-bottom:12px;margin-bottom:16px}.miniapp-header h1{font-size:18px;font-weight:600;margin:0 0 4px}.miniapp-subtitle{font-size:12px;color:var(--bd-text-secondary, #86909c);margin:0}.miniapp-main{flex:1;min-height:0}.miniapp-footer{margin-top:16px;padding-top:12px;border-top:1px dashed var(--bd-border, #e5e6eb);font-size:12px;color:var(--bd-text-tertiary, #a9aeb8)}.header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.header-main h1{font-size:18px;font-weight:650;margin:0 0 4px}.refresh-btn{flex:0 0 auto;border:1px solid var(--bd-border, #e5e6eb);background:var(--bd-bg-elevated, #fff);color:var(--bd-text-primary, #1f2329);font-size:12px;padding:6px 14px;border-radius:6px;cursor:pointer;transition:all .15s}.refresh-btn:hover:not(:disabled){border-color:#e8463c;color:#e8463c}.refresh-btn:disabled{opacity:.55;cursor:default}.error-bar{margin-top:10px;padding:8px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;font-size:11.5px;color:#b45309;line-height:1.6}.loading-hint{padding:60px 20px;text-align:center;font-size:13px;color:var(--bd-text-secondary, #86909c)}
