.pager{display:flex;align-items:center;justify-content:flex-end;margin:16px 0;flex-wrap:wrap}.pager .ant-pagination{font-family:var(--hm-font, "Noto Sans Thai", "IBM Plex Sans Thai", -apple-system, sans-serif);font-size:12px;color:var(--hm-text2, #555)}.pager .ant-pagination-total-text{font-size:11px;color:var(--hm-text3, #888);margin-right:8px}.pager .ant-pagination-item,.pager .ant-pagination-prev,.pager .ant-pagination-next{font-size:12px;font-family:var(--hm-font, "Noto Sans Thai", "IBM Plex Sans Thai", -apple-system, sans-serif)}.pager .ant-pagination-item a{color:var(--hm-text2, #555);font-size:12px}.pager .ant-pagination-item:not(.ant-pagination-item-active):hover{border-color:var(--hm-purple, #5b52cc);background:var(--hm-purple-light, #eeedfa)}.pager .ant-pagination-item:not(.ant-pagination-item-active):hover a{color:var(--hm-purple, #5b52cc)}.pager .ant-pagination-item-active,.pager .ant-pagination-item-active:hover{background:var(--hm-purple, #5b52cc);border-color:var(--hm-purple, #5b52cc)}.pager .ant-pagination-item-active a,.pager .ant-pagination-item-active:hover a{color:#fff;font-weight:700}.pager .ant-pagination-item-link{color:var(--hm-text2, #555)}.pager .ant-pagination-prev:not(.ant-pagination-disabled):hover .ant-pagination-item-link,.pager .ant-pagination-next:not(.ant-pagination-disabled):hover .ant-pagination-item-link{color:var(--hm-purple, #5b52cc);border-color:var(--hm-purple, #5b52cc)}.pager .ant-pagination-item-ellipsis{color:var(--hm-text3, #888)!important;font-size:12px}.pager .ant-pagination-options,.pager .ant-pagination-options .ant-select,.pager .ant-pagination-options .ant-select-content{font-size:12px;font-family:var(--hm-font, "Noto Sans Thai", "IBM Plex Sans Thai", -apple-system, sans-serif);color:var(--hm-text2, #555)}.im2-root{color:#1f2937;font-size:12px}.im2-local-tabs{display:flex;gap:4px;margin:-6px 0 16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb;overflow-x:auto}.im2-local-tab{padding:7px 12px;border:0;border-radius:7px;color:#6b7280;background:transparent;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.im2-local-tab:hover{background:#f3f4f6}.im2-local-tab.is-active{color:#4338ca;background:#eef2ff}.im2-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:6px;padding:0 5px;border-radius:999px;color:#fff;background:#dc2626;font-size:10px;font-weight:700;line-height:1}.im2-decision{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(190px,.65fr);gap:16px;padding:18px;border:1px solid #a5b4fc;border-radius:11px;background:linear-gradient(135deg,#eef2ff,#f5f3ff)}.im2-decision--stop{border-color:#fca5a5;background:#fff7f7}.im2-eyebrow{margin-bottom:4px;color:#6b7280;font-weight:600}.im2-decision h3{margin:0 0 5px;color:#312e81;font-size:20px}.im2-decision--stop h3{color:#991b1b}.im2-decision p{margin:0;color:#4b5563;line-height:1.6}.im2-decision-values{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}.im2-current{min-width:0;padding:8px 14px;border:1px solid #86efac;border-radius:9px;background:#f0fdf4;text-align:center}.im2-current div{color:#6b7280;font-size:11px}.im2-current strong{display:block;margin-top:2px;color:#16a34a;font-family:var(--mono, monospace);font-size:16px;font-weight:800}.im2-current.is-empty{border-color:#e5e7eb;background:#f9fafb}.im2-current.is-empty strong{color:#9ca3af;font-size:13px}.im2-recommendation{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:14px;border:1px solid #c7d2fe;border-radius:9px;background:#fff;text-align:center}.im2-recommendation div{color:#6b7280;font-size:11px}.im2-recommendation strong{margin:3px 0;color:#4338ca;font-size:17px}.im2-recommendation span{font-family:var(--mono, monospace);font-size:18px;font-weight:800}.im2-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.im2-pill{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid #d1d5db;border-radius:999px;color:#4b5563;background:#fff;font-size:11px;font-weight:600}.im2-pill--good{border-color:#86efac;color:#166534;background:#f0fdf4}.im2-pill--warn{border-color:#fde68a;color:#92400e;background:#fffbeb}.im2-pill--danger{border-color:#fca5a5;color:#991b1b;background:#fef2f2}.im2-alert{display:flex;gap:8px;margin-top:10px;padding:8px 11px;border:1px solid;border-radius:8px;line-height:1.5}.im2-alert--warn{border-color:#fde68a;color:#92400e;background:#fffbeb}.im2-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.im2-flow-card{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:9px;background:#fff}.im2-flow-card>div{display:flex;justify-content:space-between;gap:8px;color:#6b7280}.im2-flow-card>strong{display:block;margin-top:7px;color:#1f2937}.im2-flow-card p{margin:3px 0 0;color:#6b7280;line-height:1.5}.im2-flow-card b{color:#374151}.im2-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.im2-section-head h3{margin:0;color:#374151;font-size:15px}.im2-section-head p{margin:3px 0 0;color:#6b7280;line-height:1.5}.im2-secondary-button{padding:6px 10px;border:1px solid #c7d2fe;border-radius:7px;color:#4338ca;background:#fff;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.im2-secondary-button:hover{background:#eef2ff}.im2-table-wrap{width:100%;overflow-x:auto}.im2-table{width:100%;min-width:840px;border-collapse:collapse}.im2-table th{padding:7px 8px;border-bottom:2px solid #e5e7eb;color:#6b7280;background:#f9fafb;font-size:11px;text-align:left;white-space:nowrap}.im2-table td{padding:8px;border-bottom:1px solid #f0f1f3;vertical-align:top;white-space:nowrap}.im2-table td small{display:block;max-width:220px;overflow:hidden;color:#9ca3af;font-weight:400;text-overflow:ellipsis}.im2-table td.im2-months{min-width:180px;max-width:240px;color:#6b7280;font-size:11px;line-height:1.45;white-space:normal}.im2-table .is-right{text-align:right}.im2-table tr.is-recommended{background:#f0fdf4}.im2-table tr.is-muted{opacity:.5}.im2-mini-badge{margin-left:6px;padding:1px 6px;border-radius:8px;color:#166534;background:#dcfce7;font-size:10px}.im2-fill-cell{white-space:nowrap}.im2-fill-button{padding:3px 10px;border:1px solid #16a34a;border-radius:6px;color:#fff;background:#16a34a;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.im2-fill-button:hover:not(:disabled){background:#15803d;border-color:#15803d}.im2-fill-button:disabled{opacity:.5;cursor:default}.im2-fill-confirm{display:inline-flex;gap:4px}.im2-fill-yes,.im2-fill-no{padding:3px 8px;border-radius:6px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.im2-fill-yes{border:1px solid #b91c1c;color:#fff;background:#dc2626}.im2-fill-no{border:1px solid #d1d5db;color:#6b7280;background:#fff}.im2-filled-tag{color:#166534;font-size:11px;font-weight:700}.im2-fill-none{color:#d1d5db}.im2-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.im2-evidence-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:14px 0 6px;color:#374151}.im2-evidence-subhead:first-of-type{margin-top:0}.im2-evidence-subhead strong,.im2-evidence-subhead span{display:block}.im2-evidence-subhead strong{font-size:13px}.im2-evidence-subhead span{color:#6b7280;font-size:11px}.im2-evidence-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.im2-evidence-select{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:11px;font-weight:600;white-space:nowrap}.im2-evidence-select select{max-width:260px;padding:4px 6px;border:1px solid #c7d2fe;border-radius:6px;color:#4338ca;background:#fff;font:inherit;font-size:11px;font-weight:600}.im2-evidence-note{margin:-2px 0 12px}.im2-evidence-count{padding:1px 8px;border:1px solid transparent;border-radius:999px;background:transparent;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.im2-evidence-count.is-good{border-color:#86efac;color:#166534;background:#f0fdf4}.im2-evidence-count.is-danger{border-color:#fca5a5;color:#991b1b;background:#fef2f2}.im2-evidence-count:hover{filter:brightness(.95)}.im2-evidence-legend{display:flex;gap:8px;color:#888;font-size:10px;white-space:nowrap}.im2-evidence-legend span.is-pass{color:#16803f}.im2-evidence-legend span.is-fail{color:#dc2626}.im2-evidence-card{padding:8px 10px;border:1px solid #ddd;border-radius:6px;color:#222;background:#f8f9fb;font-size:11px;line-height:1.7}.im2-evidence-card.is-pass{border-color:#bbf7d0;background:#f0fdf4}.im2-evidence-card.is-fail{border-color:#fca5a5;background:#fee2e2}.im2-evidence-card.is-unavailable{border-color:#ddd;color:#6b7280;background:#f8f9fb}.im2-evidence-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:0;font-weight:700}.im2-evidence-title>span{min-width:0}.im2-evidence-title b{flex:0 0 auto;font-size:10px;font-weight:600;white-space:nowrap}.im2-evidence-card.is-pass .im2-evidence-title>span{color:#166534}.im2-evidence-card.is-pass .im2-evidence-title b{color:#16a34a}.im2-evidence-card.is-fail .im2-evidence-title>span{color:#dc2626}.im2-evidence-card.is-fail .im2-evidence-title b{padding:1px 6px;border-radius:4px;color:#fff;background:#dc2626;font-weight:700}.im2-evidence-card.is-unavailable .im2-evidence-title>span{color:#6b7280}.im2-evidence-card.is-unavailable .im2-evidence-title b{color:#9ca3af}.im2-evidence-card>strong{display:block;margin-top:2px;color:#374151;font-family:var(--mono, monospace);font-size:11px}.im2-evidence-card p{margin:2px 0 0;color:#555;font-size:11px}.im2-evidence-card>span{display:block;margin-top:2px;color:#888;font-size:11px}.im2-evidence-card>small{display:block;margin-top:2px;color:#888;font-family:var(--mono, monospace);font-size:10px}.im2-details{margin-top:12px;padding:9px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.im2-details summary{color:#374151;font-weight:700;cursor:pointer}.im2-details p{margin:7px 0 0;color:#6b7280;line-height:1.6}.im2-details ul{margin:8px 0 0;padding-left:20px}.im2-key-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.im2-key-values>div{min-width:0;padding:9px;border:1px solid #e5e7eb;border-radius:7px;background:#fff}.im2-key-values span,.im2-key-values small{display:block;color:#6b7280}.im2-key-values strong{display:block;margin-top:2px}.im2-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.im2-tech-grid article{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:9px;background:#f9fafb}.im2-tech-grid span,.im2-tech-grid small{display:block;color:#6b7280}.im2-tech-grid strong{display:block;margin:3px 0;font-size:14px}.im2-formula-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.im2-formula-list span{padding:3px 7px;border-radius:6px;color:#9ca3af;background:#fff}.im2-formula-list span.is-eligible{color:#166534;background:#ecfdf3}.im2-empty{padding:24px;border:1px dashed #d1d5db;border-radius:8px;color:#9ca3af;text-align:center}.im2-root .is-good{color:#16803f}.im2-root .is-warn{color:#a16207}.im2-root .is-danger{color:#dc2626}.im2-root .is-neutral{color:#6b7280}@media(max-width:720px){.im2-decision,.im2-flow,.im2-evidence-grid,.im2-tech-grid,.im2-key-values{grid-template-columns:1fr}.im2-section-head{flex-direction:column}.im2-secondary-button{align-self:flex-start}.im2-evidence-controls{align-items:flex-start}}.unmapped-sheet-root{font-family:var(--hm-font, "Noto Sans Thai", "IBM Plex Sans Thai", -apple-system, sans-serif);color:var(--hm-text, #222)}.unmapped-sheet-root *,.unmapped-sheet-root *:before,.unmapped-sheet-root *:after{box-sizing:border-box}.unmapped-sheet-root .us-scroll{overflow-x:auto;overflow-y:visible;width:100%;border:1px solid var(--hm-border, #ddd);border-radius:var(--hm-radius, 8px);background:var(--hm-surface, #fff)}.unmapped-sheet-root .us-header,.unmapped-sheet-root .us-row{display:flex;align-items:stretch;gap:0;width:max-content;min-width:100%}.unmapped-sheet-root .us-header{border-bottom:2px solid var(--hm-border, #ddd);font-size:12px;font-weight:700;color:var(--hm-text2, #555);position:sticky;top:0;z-index:6;background:var(--hm-surface, #fff)}.unmapped-sheet-root .us-row{border-bottom:1px solid #f0f0f5;background:var(--hm-surface, #fff);font-size:13px}.unmapped-sheet-root .us-row:hover,.unmapped-sheet-root .us-row:hover .us-c{background:var(--hm-purple-light, #eeedfa)}.unmapped-sheet-root .us-c{padding:5px 8px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--hm-border-light, #eee)}.unmapped-sheet-root .us-header .us-c{padding:7px 8px}.unmapped-sheet-root .us-mono{font-family:var(--hm-mono, "SF Mono", "Consolas", monospace);font-size:13px}.unmapped-sheet-root .us-bulk{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:8px;font-size:13px;border:1px solid var(--hm-border, #ddd);border-radius:var(--hm-radius, 8px);background:var(--hm-purple-light, #eeedfa)}.unmapped-sheet-root .us-col-pick{width:44px;flex-shrink:0;justify-content:center}.unmapped-sheet-root .us-col-act{width:52px;flex-shrink:0;justify-content:center;border-right:none}.unmapped-sheet-root .us-col-status{width:56px;flex-shrink:0;justify-content:center}.unmapped-sheet-root .us-col-isic{width:110px;flex-shrink:0}.unmapped-sheet-root .us-col-rev4{width:120px;flex-shrink:0}.unmapped-sheet-root .us-col-reg{width:130px;flex-shrink:0}.unmapped-sheet-root .us-col-prod{flex:1 1 260px;min-width:200px}.unmapped-sheet-root .us-col-fid{width:140px;flex-shrink:0}.unmapped-sheet-root .us-col-tsic{width:100px;flex-shrink:0;border-right:none}.unmapped-sheet-root .us-col-tsic:not(:last-child){border-right:1px solid var(--hm-border-light, #eee)}.unmapped-sheet-root .us-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.unmapped-sheet-root .us-missing{color:var(--hm-red, #dc3545)}.unmapped-sheet-root .us-empty{padding:40px;text-align:center;color:var(--hm-text3, #888)}.unmapped-sheet-root .us-fid-btn{border:0;background:none;padding:0;font:inherit;cursor:pointer;color:var(--hm-link, #1677ff);text-decoration:none}.unmapped-sheet-root .us-fid-btn:hover{text-decoration:underline}.dataset-heatmap-root{--hm-bg: #f8f9fb;--hm-surface: #fff;--hm-border: #ddd;--hm-border-light: #eee;--hm-text: #222;--hm-text2: #555;--hm-text3: #888;--hm-purple: #5b52cc;--hm-purple-light: #eeedfa;--hm-green: #1a8a42;--hm-green-light: #eef8f0;--hm-amber: #d97706;--hm-amber-light: #fefbe8;--hm-red: #dc3545;--hm-red-light: #fdf0f0;--hm-cyan: #0891b2;--hm-radius: 8px;--hm-font: "Noto Sans Thai", "IBM Plex Sans Thai", -apple-system, sans-serif;--hm-mono: "SF Mono", "Consolas", monospace;--hm-container: 1200px;--hm-cell-w: 22px;--hm-cell-gap: 2px;font-family:var(--hm-font);color:var(--hm-text);line-height:1.7;background:var(--hm-bg);--bg: var(--hm-bg);--surface: var(--hm-surface);--border: var(--hm-border);--border-light: var(--hm-border-light);--text: var(--hm-text);--text2: var(--hm-text2);--text3: var(--hm-text3);--purple: var(--hm-purple);--purple-light: var(--hm-purple-light);--green: var(--hm-green);--green-light: var(--hm-green-light);--amber: var(--hm-amber);--amber-light: var(--hm-amber-light);--red: var(--hm-red);--red-light: var(--hm-red-light);--cyan: var(--hm-cyan);--radius: var(--hm-radius);--font: var(--hm-font);--mono: var(--hm-mono)}.dataset-heatmap-root *,.dataset-heatmap-root *:before,.dataset-heatmap-root *:after{box-sizing:border-box}.dataset-heatmap-root .hm-topbar{position:sticky;top:0;z-index:200;background:var(--hm-surface);border-bottom:1px solid var(--hm-border);height:52px;display:flex;align-items:center}.dataset-heatmap-root .hm-topbar-inner{max-width:var(--hm-container);width:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:14px}.dataset-heatmap-root .hm-topbar h1{font-size:15px;font-weight:700;margin:0}.dataset-heatmap-root .hm-topbar h1 span{color:var(--hm-purple)}.dataset-heatmap-root .hm-topbar .hm-sep{width:1px;height:20px;background:var(--hm-border)}.dataset-heatmap-root .hm-topbar .hm-subtitle{font-size:12px;color:var(--hm-text3)}.dataset-heatmap-root .hm-container{max-width:var(--hm-container);margin:0 auto;padding:20px 24px 100px}.dataset-heatmap-root .hm-zone{background:var(--hm-surface);border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0f172a0a;padding:14px;margin-bottom:12px}.dataset-heatmap-root .hm-zone-title{font-size:12px;font-weight:600;color:#475569;margin:0 0 10px 2px;letter-spacing:-.005em}.dataset-heatmap-root .hm-zone .summary{margin:0}.dataset-heatmap-root .hm-zone .month-overview{margin:12px 0 0}.dataset-heatmap-root .hm-zone .hm-tabs{margin:0 0 8px;border:none;background:transparent}.dataset-heatmap-root .hm-zone .toolbar{margin:0}.dataset-heatmap-root .summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;margin:8px 0}.dataset-heatmap-root .scard{background:var(--hm-surface);border:1px solid var(--hm-border);border-radius:var(--hm-radius);padding:6px 8px;text-align:center;cursor:pointer;transition:all .15s}.dataset-heatmap-root .scard:hover{box-shadow:0 2px 8px #00000014}.dataset-heatmap-root .scard.active{border-color:var(--hm-purple);background:var(--hm-purple-light)}.dataset-heatmap-root .scard .n{font-size:16px;font-weight:700;line-height:1.1}.dataset-heatmap-root .scard .l{font-size:11px;color:var(--hm-text2);margin-top:2px}.dataset-heatmap-root .month-overview{display:flex;gap:4px;margin:12px 0;align-items:flex-end}.dataset-heatmap-root .mo-col{text-align:center;flex:1}.dataset-heatmap-root .mo-col .bar{height:50px;border-radius:3px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.dataset-heatmap-root .mo-col .bar div{min-height:1px}.dataset-heatmap-root .mo-col .lbl{font-size:9px;color:var(--hm-text3);margin-top:2px}.dataset-heatmap-root .mo-col .num{font-size:10px;font-weight:600;color:var(--hm-text2)}.dataset-heatmap-root .hm-tabs{display:flex;gap:0;background:var(--hm-surface);border:1px solid var(--hm-border);border-radius:var(--hm-radius);overflow:hidden;margin:16px 0}.dataset-heatmap-root .hm-tab{border:none;background:none;padding:8px 16px;font-family:var(--hm-font);font-size:13px;font-weight:600;color:var(--hm-text2);cursor:pointer;white-space:nowrap}.dataset-heatmap-root .hm-tab:hover{background:var(--hm-purple-light)}.dataset-heatmap-root .hm-tab.active{background:var(--hm-purple);color:#fff}.dataset-heatmap-root .toolbar{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}.dataset-heatmap-root .toolbar input{width:250px;border:1px solid var(--hm-border);border-radius:var(--hm-radius);padding:8px 12px;font-family:var(--hm-font);font-size:13px;outline:none}.dataset-heatmap-root .toolbar input:focus{border-color:var(--hm-purple);box-shadow:0 0 0 3px #5b52cc1a}.dataset-heatmap-root .toolbar select{border:1px solid var(--hm-border);border-radius:var(--hm-radius);padding:8px 10px;font-family:var(--hm-font);font-size:12px;background:var(--hm-surface);outline:none}.dataset-heatmap-root .month-preset-btn{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:var(--hm-radius);padding:5px 8px;font-family:var(--hm-font);font-size:11px;cursor:pointer;color:var(--hm-text3)}.dataset-heatmap-root .month-preset-btn:hover{background:var(--hm-purple-light);border-color:var(--hm-purple);color:var(--hm-purple)}.dataset-heatmap-root .legend{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;align-items:center;margin:6px 0}.dataset-heatmap-root .legend>span{white-space:nowrap;flex-shrink:0}.dataset-heatmap-root .legend span{display:inline-flex;align-items:center;gap:3px}.dataset-heatmap-root .blk{display:inline-block;width:11px;height:11px;border-radius:2px}.dataset-heatmap-root .blk-p{background:#22c55e}.dataset-heatmap-root .blk-z{background:#bbf7d0}.dataset-heatmap-root .blk-w{background:#facc15}.dataset-heatmap-root .blk-r{background:#ef4444}.dataset-heatmap-root .blk-n{background:#e5e7eb}.dataset-heatmap-root .heatmap-scroll{overflow-x:auto;overflow-y:visible;width:100%}.dataset-heatmap-root .grid-header,.dataset-heatmap-root .row{display:flex;align-items:center;gap:0;padding:3px 0;width:max-content;min-width:100%}.dataset-heatmap-root .grid-header{border-bottom:2px solid var(--hm-border);font-size:12px;font-weight:700;color:var(--hm-text2);position:sticky;top:0;z-index:5;background:var(--hm-surface,#fff)}.dataset-heatmap-root .row{border-bottom:1px solid #f0f0f5;background:var(--hm-surface,#fff)}.dataset-heatmap-root .row:hover{background:var(--hm-purple-light)}.dataset-heatmap-root .col-sel,.dataset-heatmap-root .col-fid,.dataset-heatmap-root .col-tsic,.dataset-heatmap-root .col-name,.dataset-heatmap-root .col-qs{position:sticky;background:inherit;z-index:2}.dataset-heatmap-root .col-sel{left:0;width:28px;flex-shrink:0;text-align:center;line-height:1;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.dataset-heatmap-root .col-fid{left:28px;width:120px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis}.dataset-heatmap-root .col-tsic{left:148px;width:72px;flex-shrink:0}.dataset-heatmap-root .col-name{left:220px;width:260px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:4px}.dataset-heatmap-root .col-qs{left:480px;width:52px;text-align:center;flex-shrink:0;font-weight:700;font-size:13px;border-radius:4px;margin:2px 0;cursor:pointer;transition:all .15s;border-right:1px solid var(--hm-border)}.dataset-heatmap-root .col-qs:hover{box-shadow:0 1px 4px #0000001f}.dataset-heatmap-root .row .col-name .version-tag-icon{color:#7c3aed;margin-right:4px;font-size:11px;vertical-align:middle}.dataset-heatmap-root .col-cells{display:flex;gap:var(--hm-cell-gap);flex-shrink:0;padding-right:12px}.dataset-heatmap-root .col-btn{width:96px;flex-shrink:0;text-align:center;position:sticky;right:0;background:inherit;z-index:2;border-left:1px solid var(--hm-border)}.dataset-heatmap-root .row .col-fid,.dataset-heatmap-root .row .col-tsic{font-family:var(--hm-mono);font-size:13px;color:var(--hm-text)}.dataset-heatmap-root .row .col-name{font-size:13px;color:var(--hm-text)}.dataset-heatmap-root .grid-header .col-cells{gap:var(--hm-cell-gap)}.dataset-heatmap-root .grid-header .col-cells span{width:var(--hm-cell-w);text-align:center;font-size:10px;line-height:1.2;color:var(--hm-text2)}.dataset-heatmap-root .anomaly-badge-r{font-size:10px;padding:1px 4px;border-radius:3px;background:#fecaca;color:#dc2626;margin-left:4px}.dataset-heatmap-root .anomaly-badge-w{font-size:10px;padding:1px 4px;border-radius:3px;background:#fef3c7;color:#ca8a04;margin-left:4px}.dataset-heatmap-root .cell{width:var(--hm-cell-w);height:18px;border-radius:2px;cursor:pointer;transition:transform .1s;position:relative}.dataset-heatmap-root .cell:hover{transform:scale(1.3);z-index:5}.dataset-heatmap-root .cell-p{background:#22c55e}.dataset-heatmap-root .cell-z{background:#bbf7d0}.dataset-heatmap-root .cell-w{background:#facc15}.dataset-heatmap-root .cell-r{background:#ef4444}.dataset-heatmap-root .cell-n{background:#e5e7eb}.dataset-heatmap-root .btn-timeline{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:4px;padding:1px 6px;font-size:11px;cursor:pointer;color:var(--hm-text3);margin-left:4px;flex-shrink:0;line-height:1}.dataset-heatmap-root .btn-timeline:hover{background:var(--hm-purple-light);border-color:var(--hm-purple);color:var(--hm-purple)}.hm-tooltip{display:none;position:fixed;background:#222;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-family:Noto Sans Thai,IBM Plex Sans Thai,sans-serif;z-index:400;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #0000004d}.hm-tooltip .tt-month{color:#aaa;font-size:10px}.hm-tooltip .tt-val{font-weight:700;font-size:14px}.hm-tooltip .tt-unit{color:#aaa;font-size:11px}.hm-tooltip .tt-loading{color:#888;font-style:italic}.hm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:2000;display:flex;justify-content:center;align-items:center}.hm-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:95vw;width:fit-content;min-width:400px;max-height:85vh;overflow:auto;padding:24px;font-family:Noto Sans Thai,IBM Plex Sans Thai,sans-serif}.hm-dialog h3{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.hm-dialog h3 .close{background:none;border:none;font-size:22px;cursor:pointer;color:#888;padding:0 4px}.hm-dialog h3 .close:hover{color:#222}.hm-dialog table{width:100%;border-collapse:collapse;font-size:13px}.hm-dialog th{text-align:left;padding:6px 8px;color:#888;font-size:12px;font-weight:600;border-bottom:1px solid #ddd}.hm-dialog td{padding:6px 8px;border-bottom:1px solid #eee}.hm-dialog .mono{font-family:SF Mono,Consolas,monospace;font-size:12px}.hm-dialog .loading{text-align:center;padding:20px;color:#888}.hm-dialog .timeline-table{width:100%;border-collapse:collapse;font-size:12px}.hm-dialog .timeline-table th{background:#fafafa;padding:6px 4px;text-align:center;font-size:10px;color:#888;border-bottom:2px solid #ddd;white-space:nowrap}.hm-dialog .timeline-table td{padding:6px 4px;text-align:right;border-bottom:1px solid #eee;font-family:SF Mono,Consolas,monospace;font-size:12px;vertical-align:top}.hm-dialog .timeline-table thead th{position:sticky;top:0;z-index:3}.hm-dialog .timeline-table th:first-child,.hm-dialog .timeline-table td:first-child{position:sticky;left:0;background:#fff;z-index:2}.hm-dialog .timeline-table thead th:first-child{z-index:4;background:#fafafa}.hm-dialog .timeline-table .tl-cell{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hm-dialog .timeline-table .tl-badges{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end;max-width:120px;cursor:default}.hm-dialog .timeline-table .tl-badges{align-items:center;gap:4px}.tl-flag-dot{width:10px;height:10px;box-sizing:border-box}.tl-flag-pending{border:2px solid currentColor}.tl-flag-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:2px;margin:-2px;cursor:pointer;border-radius:3px}.tl-flag-button .flag-dot{cursor:pointer}.tl-flag-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.tl-lock-status{display:inline-flex;color:#64748b;font-size:16px}.tl-flag-legend{display:flex;flex-wrap:wrap;gap:6px 12px;border-top:1px solid var(--border);padding-top:6px;margin-top:3px}.tl-legend-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text2)}.tl-legend-group+.tl-legend-group{border-left:1px solid #cbd5e1;padding-left:12px}.tl-legend-group>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tl-legend-note{flex-basis:100%}.hm-dialog .timeline-table td.empty{color:#ccc;background:#f3f4f6}.hm-dialog .timeline-table td.zero{color:#6cb585;background:#eef8f0}.hm-dialog .timeline-table td.has-val{color:#16a34a;background:transparent;font-weight:600}.hm-dialog .timeline-table td.anomaly{color:#dc3545;background:#fefbe8;font-weight:700;border:2px solid #d97706}.hm-dialog .timeline-table td.critical{color:#fff;background:#f87171;font-weight:700}.hm-dialog .qs-cards{display:flex;gap:12px;margin:16px 0}.hm-dialog .qs-card{flex:1;background:#f8f9fb;border:1px solid #ddd;border-radius:8px;padding:12px 10px;text-align:center}.hm-dialog .qs-card .qs-label{font-size:12px;font-weight:700;color:#555;margin-bottom:4px}.hm-dialog .qs-card .qs-val{font-size:24px;font-weight:700;line-height:1.2}.hm-dialog .qs-card .qs-weight{font-size:11px;color:#888;margin-top:2px}.hm-dialog .qs-card .qs-detail{font-size:11px;color:#555;margin-top:6px;padding-top:6px;border-top:1px solid #eee}.hm-dialog .qs-calc{background:#f8f9fb;border:1px solid #ddd;border-radius:8px;padding:10px 14px;font-size:12px;font-family:SF Mono,Consolas,monospace;color:#555;margin:12px 0}.hm-dialog .qs-checklist{margin:12px 0;font-size:13px;line-height:2}.hm-dialog .qs-checklist .qs-ok{color:#1a8a42}.hm-dialog .qs-checklist .qs-fail{color:#dc3545}.hm-dialog .qs-checklist .qs-warn{color:#d97706}.dataset-heatmap-root .loading{text-align:center;padding:20px;color:var(--hm-text3)}.dataset-heatmap-root .footer{text-align:center;padding:20px;font-size:12px;color:var(--hm-text3);border-top:1px solid #eee;margin-top:40px}@keyframes compute-stale-pulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 6px #dc262600}}.dataset-heatmap-root .btn-lock{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:4px;padding:1px 4px;font-size:11px;cursor:pointer;color:var(--hm-text3);line-height:1;flex-shrink:0;opacity:.5;transition:opacity .15s}.dataset-heatmap-root .btn-lock:hover{opacity:1}.dataset-heatmap-root .btn-lock.btn-lock-active{border-color:var(--hm-purple);background:var(--hm-purple-light);color:var(--hm-purple);opacity:1}.dataset-heatmap-root .flag-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px}.dataset-heatmap-root .flag-filter-label{font-size:12px;font-weight:600;color:var(--hm-text2);white-space:nowrap}.dataset-heatmap-root .blk-lock{display:inline-flex;align-items:center;justify-content:center;width:11px;height:11px;font-size:9px;border-radius:2px;border:1px solid var(--hm-purple);background:var(--hm-purple-light)}.dq-mode-glyph{display:inline-block;font-weight:800;font-size:15px;line-height:1;min-width:15px;text-align:center}.dataset-heatmap-root .hm-marker-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.dataset-heatmap-root .hm-marker-btn.ant-btn{height:24px;padding:0 8px;font-size:13px;line-height:22px;border-radius:4px}.dataset-heatmap-root .hm-marker-btn.ant-btn .anticon{font-size:13px}.dataset-heatmap-root .hm-marker-btn.ant-btn-icon-only{width:26px}.dataset-heatmap-root .hm-marker-group{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.dataset-heatmap-root .hm-marker-group .ant-divider-vertical{height:20px;margin:0 2px;border-color:#cbd5e1}.pmi-explorer{display:flex;flex-direction:column;gap:16px}.pmi-explorer-heading,.pmi-explorer-toolbar,.pmi-explorer-context,.pmi-explorer-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pmi-explorer-heading h2{font-size:22px;margin:0 0 4px}.pmi-explorer-muted,.pmi-explorer-footer{color:var(--pmi-muted);font-size:12px}.pmi-explorer-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pmi-explorer-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px}.pmi-explorer-filters .ant-select{width:100%}.pmi-explorer-toolbar{margin-top:12px;margin-bottom:8px}.pmi-explorer-context{font-size:12px}.pmi-explorer-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pmi-explorer-kpis .ant-card-body>span:first-child{font-size:13px}.pmi-explorer-headline{border-top:3px solid #1677ff}.pmi-explorer-big{font-size:clamp(26px,3vw,42px);font-weight:650;line-height:1.5;font-variant-numeric:tabular-nums}.pmi-explorer-big small{font-size:13px;font-weight:400}.pmi-explorer-prediction{color:#9b6cde}.pmi-explorer-quality{padding:10px 14px;background:var(--pmi-soft);border-radius:8px;font-size:12px}.pmi-explorer-chart-scroll{overflow-x:auto}.pmi-explorer-chart{width:100%;min-width:640px;max-height:280px}.pmi-explorer-chart-loading{display:grid;place-items:center;height:240px}.pmi-explorer details summary{color:var(--pmi-muted);font-size:12px;cursor:pointer}.pmi-explorer-components{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.pmi-explorer-component{background:transparent;color:inherit;border:1px solid var(--pmi-border);border-radius:8px;padding:12px;text-align:left;font:inherit;cursor:pointer}.pmi-explorer-component:hover,.pmi-explorer-component:focus-visible{border-color:#1677ff;background:var(--pmi-soft)}.pmi-explorer-component>div:first-child{min-height:50px;font-size:13px}.pmi-explorer-component strong{font-size:26px;font-variant-numeric:tabular-nums}.pmi-explorer-stacked{display:flex;height:7px;border-radius:4px;overflow:hidden;background:var(--pmi-soft);margin:10px 0}.pmi-explorer-open{display:block;color:#1677ff;font-size:12px;margin-top:10px}.pmi-explorer-respondent-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.pmi-explorer-reason{white-space:normal;max-height:150px;overflow:auto;font-size:12px;margin-top:6px}.pmi-explorer .ant-table-summary{background:var(--pmi-soft)}@media(max-width:1100px){.pmi-explorer-components{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.pmi-explorer-filters,.pmi-explorer-kpis,.pmi-explorer-components,.pmi-explorer-respondent-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.pmi-explorer-filters,.pmi-explorer-components,.pmi-explorer-respondent-filters{grid-template-columns:minmax(0,1fr)}.pmi-explorer-heading h2{font-size:19px}}.index-import-root{--ii-bg: #f8f9fb;--ii-surface: #fff;--ii-border: #ddd;--ii-border-light: #eee;--ii-text: #222;--ii-text2: #555;--ii-text3: #888;--ii-mono: "SF Mono", "Consolas", monospace;--ii-cell-w: 64px;color:var(--ii-text)}.index-import-root *,.index-import-root *:before,.index-import-root *:after{box-sizing:border-box}.index-import-root .ii-scroll{overflow-x:auto;overflow-y:visible;width:100%;border:1px solid var(--ii-border);border-radius:8px;background:var(--ii-surface)}.index-import-root .ii-grid-header,.index-import-root .ii-row{display:flex;align-items:stretch;gap:0;width:max-content;min-width:100%}.index-import-root .ii-grid-header{border-bottom:2px solid var(--ii-border);font-size:11px;font-weight:700;color:var(--ii-text2);position:sticky;top:0;z-index:6;background:#fafafa}.index-import-root .ii-row{border-bottom:1px solid #f0f0f5;background:var(--ii-surface);font-size:12px}.index-import-root .ii-row:hover,.index-import-root .ii-row:hover .ii-c{background:#f5f7ff}.index-import-root .ii-c{padding:5px 6px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--ii-border-light)}.index-import-root .ii-grid-header .ii-c{padding:7px 6px}.index-import-root .ii-sticky{position:sticky;background:inherit;z-index:3}.index-import-root .ii-grid-header .ii-sticky{background:#fafafa}.index-import-root .ii-col-status{justify-content:center}.index-import-root .ii-col-isic,.index-import-root .ii-col-cc,.index-import-root .ii-col-isic4,.index-import-root .ii-col-cc4,.index-import-root .ii-col-reg,.index-import-root .ii-col-fid,.index-import-root .ii-col-tsic{font-family:var(--ii-mono)}.index-import-root .ii-col-edge{border-right:2px solid var(--ii-border)}.index-import-root .ii-col-month{width:var(--ii-cell-w);flex-shrink:0;justify-content:flex-end;font-family:var(--ii-mono);font-size:11px;color:var(--ii-text2)}.index-import-root .ii-grid-header .ii-col-month{justify-content:center}.index-import-root .ii-cell-mismatch{background:#fecaca}.index-import-root .ii-row:hover .ii-cell-mismatch{background:#fca5a5}.index-import-root .ii-cell-empty{color:#ccc}.index-import-root .ii-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.index-import-root .ii-empty{padding:40px;text-align:center;color:var(--ii-text3)}.ii-sheet-tab{display:inline-flex;align-items:center;gap:6px}.ii-sheet-tab:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--ii-tab-dot, #d9d9d9);flex:none}.ii-tab-full{--ii-tab-dot: #1668dc}.ii-tab-write{--ii-tab-dot: #52c41a}.ii-tab-parked{--ii-tab-dot: #595959}.ii-help .ii-help-intro{margin:0 0 14px;color:#444}.ii-help .ii-help-pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 18px;padding:0;list-style:none;counter-reset:ii-step}.ii-help .ii-help-pipeline li{position:relative;padding:8px 10px 8px 12px;border:1px solid var(--ii-border, #e5e7eb);border-radius:8px;background:#f8f9fb;font-size:12px;counter-increment:ii-step}.ii-help .ii-help-pipeline li:before{content:counter(ii-step);position:absolute;top:-8px;left:-6px;width:18px;height:18px;border-radius:50%;background:#1668dc;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.ii-help .ii-help-pipeline li:first-child:before{background:#6b7280}.ii-help .ii-help-step-label{font-weight:600;color:#111}.ii-help .ii-help-step-detail{color:#6b7280;font-family:var(--ii-mono, monospace);font-size:11px;margin-top:2px}.ii-help .ii-help-step-fails{margin-top:4px;color:#b45309}.ii-help .ii-help-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.55}.ii-help .ii-help-table th,.ii-help .ii-help-table td{border:1px solid var(--ii-border, #e5e7eb);padding:8px 10px;vertical-align:top;text-align:left}.ii-help .ii-help-table th{background:#f3f4f6;font-weight:600}.ii-help .ii-help-muted{color:#6b7280}.ii-help .ii-help-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:2px solid;border-radius:999px;background:#fff;font-size:12px;font-weight:600;white-space:nowrap}.ii-help .ii-help-notes{margin:14px 0 0;padding-left:20px;color:#444;font-size:13px}.ii-help .ii-help-notes li+li{margin-top:4px}@media(max-width:720px){.ii-help .ii-help-pipeline{grid-template-columns:1fr}}:root{--sidebar-w: 240px;--topbar-h: 48px;--m-bg: #f4f6fa;--m-surface: #ffffff;--m-surface-2: #f8fafc;--m-surface-hover: #f1f5f9;--m-border: #e2e8f0;--m-border-strong: #cbd5e1;--m-fg: #0f172a;--m-fg-muted: #475569;--m-fg-dim: #64748b;--m-fg-subtle: #94a3b8;--m-accent: #2563eb;--m-accent-hover: #1d4ed8;--m-accent-soft: #eff6ff;--m-accent-fg: #ffffff;--m-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Inter,Noto Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--m-bg);color:var(--m-fg);font-size:13px;line-height:1.45;letter-spacing:-.005em;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--m-surface);border-right:1px solid var(--m-border);overflow-y:auto;overflow-x:hidden;z-index:100;display:flex;flex-direction:column;padding:10px;gap:1px;transition:width .18s ease,padding .18s ease}.sidebar-toggle{position:fixed;top:22px;left:calc(var(--sidebar-w) - 12px);width:24px;height:24px;border-radius:50%;background:var(--m-surface);border:1px solid var(--m-border-strong);display:grid;place-items:center;cursor:pointer;color:var(--m-fg-dim);z-index:110;padding:0;box-shadow:0 1px 4px #0f172a1a;transition:left .18s ease,color .12s,border-color .12s,background .12s}.sidebar-toggle:hover{color:var(--m-accent);border-color:var(--m-accent);background:var(--m-accent-soft)}.sidebar-toggle:focus-visible{outline:2px solid var(--m-accent);outline-offset:1px}.sidebar-logo{display:flex;align-items:center;gap:8px;height:32px;margin-bottom:10px;padding:0 2px}.sidebar-logo-mark{width:32px;height:32px;display:grid;place-items:center;color:var(--m-accent);background:var(--m-accent-soft);border-radius:8px;flex-shrink:0}.sidebar-logo-text{display:flex;flex-direction:column;min-width:0}.sidebar-logo-text h2{font-size:14px;font-weight:620;letter-spacing:-.01em;color:var(--m-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logo-text small{font-size:10px;color:var(--m-fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-section{padding:4px 0}.nav-section-title{font-size:10px;font-weight:620;text-transform:uppercase;letter-spacing:.08em;color:var(--m-fg-subtle);padding:10px 10px 4px}.nav-item{height:34px;display:flex;align-items:center;gap:10px;padding:0 8px;color:var(--m-fg-dim);border-radius:6px;cursor:pointer;transition:background .12s,color .12s;text-decoration:none;font-size:12px;font-weight:520;margin:1px 0}.nav-item-icon{width:16px;height:16px;display:grid;place-items:center;flex-shrink:0}.nav-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item-badge{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;padding:1px 6px;border-radius:9px;background:var(--m-surface-2);color:var(--m-fg-dim)}.nav-item:hover{background:var(--m-accent-soft);color:var(--m-accent)}.nav-item.active{background:var(--m-accent-soft);color:var(--m-accent);font-weight:620}.nav-item.active .nav-item-badge{background:var(--m-accent);color:var(--m-accent-fg)}.sidebar-spacer{flex:1}.sidebar-footer{margin-top:8px;padding:8px;border-top:1px solid var(--m-border);display:flex;align-items:center;gap:10px}.sidebar-avatar{width:28px;height:28px;background:var(--m-accent);color:var(--m-accent-fg);border-radius:50%;display:grid;place-items:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:620;flex-shrink:0}.sidebar-user-info{min-width:0}.sidebar-user-name{font-size:12px;font-weight:520;color:var(--m-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10px;color:var(--m-fg-dim);font-family:JetBrains Mono,ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-sidebar=collapsed]{--sidebar-w: 64px}.sidebar.collapsed{padding:10px 6px}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:0}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-item-label,.sidebar.collapsed .nav-item-badge,.sidebar.collapsed .sidebar-user-info{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:0;gap:0}.sidebar.collapsed .sidebar-footer{justify-content:center;padding:8px 0;gap:0}.topbar{position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);background:var(--m-surface);border-bottom:1px solid var(--m-border);display:flex;align-items:center;gap:12px;padding:0 16px;z-index:90;transition:left .18s ease}.topbar-crumbs{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--m-fg-dim)}.topbar-crumbs b{color:var(--m-fg);font-weight:520}.topbar-crumbs .sep{opacity:.5}.topbar-spacer{flex:1}.topbar-avatar{width:28px;height:28px;background:var(--m-accent);color:var(--m-accent-fg);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:620;font-family:JetBrains Mono,ui-monospace,monospace}.main{margin-left:var(--sidebar-w);margin-top:var(--topbar-h);padding:16px;min-height:calc(100vh - var(--topbar-h));transition:margin-left .18s ease}.main:has(>.page-tabs){padding-top:0;padding-bottom:8px}.page-tabs>.ant-tabs-nav{position:sticky;top:var(--topbar-h);z-index:50;margin-bottom:10px;padding-top:0;background:var(--m-bg);border-bottom:1px solid var(--m-border);will-change:transform}.main:has(>.page-tabs)>.page-tabs>.ant-tabs-nav{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.page-tabs>.ant-tabs-nav .ant-tabs-tab{padding-top:6px;padding-bottom:8px}.feedback-loop-page>.ant-tabs-nav{margin-bottom:6px}.feedback-toolbar{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.feedback-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.feedback-toolbar-row .ant-tag{margin-inline-end:0}.feedback-updated{margin-left:auto;font-size:12px}.feedback-table .ant-table-thead>tr>th{font-weight:600}.feedback-table.ant-table-wrapper .ant-table-thead>tr:last-child>th,.feedback-table.ant-table-wrapper .ant-table-thead>tr>th[rowspan]{border-bottom:2px solid #cbd5e1!important}.feedback-month-table .ant-table-cell.feedback-group-end{border-inline-end:2px solid #cbd5e1!important}.feedback-month-table .ant-table-tbody>tr>td{font-variant-numeric:tabular-nums}.feedback-month-table .ant-table-tbody .ant-btn-link{height:auto;padding:0;font-variant-numeric:tabular-nums}@media(max-width:768px){.sidebar{display:none}.topbar{left:0}.main{margin-left:0}}.data-flag{display:inline-block;width:fit-content;justify-self:center;align-self:center;flex:0 0 auto;min-width:15px;padding:0 3px;line-height:15px;text-align:center;font-size:10px;font-weight:700;border-radius:3px;vertical-align:middle}.flag-a{background:#dcfce7;color:#166534}.flag-e{background:#ccfbf1;color:#0f766e}.flag-m{background:#fef9c3;color:#854d0e}.flag-i{background:#fce7f3;color:#be185d}.rule-flag{display:inline-block;width:fit-content;flex:0 0 auto;padding:0 4px;line-height:15px;font-family:var(--mono, ui-monospace, monospace);font-size:10px;font-weight:700;border-radius:3px;vertical-align:middle;cursor:help}.rule-hard{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.rule-soft{background:#fefce8;color:#ca8a04;border:1px solid #fde68a}.rule-unit{background:#f3e8ff;color:#7e22ce;border:1px solid #d8b4fe}.rule-dismissed{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.rule-unitfix{background:#dcfce7;color:#15803d;border:1px solid #86efac}.flag-dot{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-radius:50%;vertical-align:middle;cursor:help;box-shadow:0 0 0 1px #fff}.flag-dot-hard{background:#dc2626}.flag-dot-soft{background:#ca8a04}.flag-dot-unit{background:#7e22ce}.flag-dot-e{background:#0f766e}.flag-dot-i{background:#be185d}.flag-dot-dismissed{background:#6b7280}.flag-dot-unitfix{background:#15803d}
