.app-shell{display:flex;min-height:100vh;background:#f5f6f8}.app-main{margin-left:15vw;display:flex;flex-direction:column;flex:1;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e4e7ec;display:flex;flex-direction:column;justify-content:center;padding:8px 24px;gap:2px;flex-shrink:0;box-shadow:0 1px 2px #1018280a;z-index:50;position:sticky;top:0;min-height:52px}.app-header .name{font-size:13px;font-weight:600;color:#101828}.app-header .separator{color:#98a2b3;font-size:13px}.app-header .module{font-size:13px;color:#667085}.app-header .spacer{flex:1}.app-header .env-badge{font-size:10px;padding:3px 10px;border:1px solid #e4e7ec;border-radius:4px;color:#667085;text-transform:uppercase;letter-spacing:.5px;background:#f5f6f8}.app-content{flex:1;overflow-y:auto}.subnav{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid #e4e7ec;display:flex;align-items:center;gap:4px;padding:0 24px;height:44px;flex-shrink:0}.subnav-back{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:6px;background:#3b82f6;color:#fff;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s ease-out;cursor:pointer;border:none}.subnav-back:hover{background:#2563eb}.subnav-prop{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;color:#667085;font-size:12px;text-decoration:none;white-space:nowrap;transition:all .15s ease-out;background:transparent;border:none;cursor:pointer}.subnav-prop:hover{background:#f5f6f8;color:#101828}.subnav-prop.active{background:#eff6ff;color:#3b82f6;font-weight:600}.subnav-props{display:flex;align-items:center;gap:2px;overflow-x:auto;justify-content:flex-end}:root{--bg-page:#f5f6f8;--bg-panel:#ffffff;--border:#e4e7ec;--text-primary:#101828;--text-secondary:#667085;--text-tertiary:#98a2b3;--accent:#3b82f6;--accent-light:#eff6ff;--accent-border:#bfdbfe;--bg-hover:#f9fafb;--bg-selected:#eef2ff;--status-matched:#12b76a;--status-matched-bg:#ecfdf3;--status-pending:#f79009;--status-pending-bg:#fffaeb;--status-exception:#f04438;--status-exception-bg:#fef3f2;--radius:4px;--shadow-sm:0 1px 2px rgba(16,24,40,.04)}.subnav-tabs{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid #e4e7ec;display:flex;align-items:center;gap:0;padding:0 24px;height:44px;flex-shrink:0}.subnav-tab{display:inline-flex;align-items:center;height:44px;padding:0 14px;font-size:12px;font-weight:500;color:#667085;text-decoration:none;white-space:nowrap;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .15s ease-out}.subnav-tab:hover{color:#101828;background:#f5f6f8}.subnav-tab.active{color:#3b82f6;font-weight:600;border-bottom-color:#3b82f6;background:#eff6ff}.status{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;letter-spacing:.3px;border:1px solid;box-shadow:0 1px 1px #00000005}.status.matched{color:#067647;background:#ecfdf3;border-color:#abefc6}.status.verified{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.status.pending{color:#b54708;background:#fffaeb;border-color:#fedf89}.status.exception{color:#b42318;background:#fef3f2;border-color:#fecdca}.status.unchecked{color:#667085;background:#f2f4f7;border-color:#d0d5dd}.app-footer{height:4vh;min-height:28px;background:#fff;border-top:1px solid #e4e7ec;display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0;font-size:10px;color:#98a2b3}.app-footer .spacer{flex:1}.app-footer a{color:#667085;text-decoration:none}.app-footer a:hover{color:#101828}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#98a2b3}.detail-tab{padding:9px 16px;font-size:11px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;font-weight:500}.detail-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.detail-tab.active{color:var(--accent);font-weight:600;border-bottom-color:var(--accent);background:var(--accent-light)}.summary-row{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0}.summary-card{flex:1;padding:16px 20px 18px;border-right:1px solid var(--border);position:relative;background:var(--bg-panel)}.summary-card:last-child{border-right:none}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:.15}.summary-card:first-child:before{opacity:.4}.summary-card .label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:4px}.summary-card .value{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.4px}.rec-workspace{flex:1;display:flex;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow-sm)}.rec-master{flex:1;display:flex;flex-direction:column;overflow:hidden}.rec-data-table{width:100%;border-collapse:collapse}.rec-data-table thead{position:sticky;top:0;z-index:2}.rec-data-table th{padding:9px 16px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.6px;text-align:left;background:var(--bg-page);border-bottom:1px solid var(--border)}.rec-data-table td{padding:10px 16px;font-size:12px;color:var(--text-primary);border-bottom:1px solid var(--border);cursor:pointer;transition:all .08s}.rec-data-table tr:hover td{background:var(--bg-hover)}.rec-data-table tr.selected td{background:var(--bg-selected)}.rec-data-table tr.selected td:first-child{border-left:3px solid var(--accent);padding-left:13px}.rec-data-table .status{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;letter-spacing:.3px;border:1px solid;box-shadow:0 1px 1px #00000005}.rec-data-table .status.matched{color:#067647;background:var(--status-matched-bg);border-color:#abefc6}.rec-data-table .status.pending{color:#b54708;background:var(--status-pending-bg);border-color:#fedf89}.rec-data-table .status.exception{color:#b42318;background:var(--status-exception-bg);border-color:#fecdca}.rec-data-table .status.verified{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.rec-data-table .status.unchecked{color:#667085;background:#f2f4f7;border-color:#d0d5dd}.rec-data-table .positive{color:#067647;font-weight:600}.rec-data-table .negative{color:#b42318;font-weight:600}.rec-detail-panel{width:280px;background:var(--bg-panel);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;border-left:1px solid var(--border);box-shadow:var(--shadow-sm)}.rec-detail-panel .panel-header{display:flex;align-items:center;height:44px;padding:0 16px;border-bottom:1px solid var(--border);gap:8px;flex-shrink:0;background:var(--bg-panel)}.rec-detail-panel .panel-header h3{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.rec-detail-panel .panel-header .accent-tag{font-size:10px;padding:2px 8px;border-radius:3px;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-border);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.rec-detail-panel .panel-content{flex:1;overflow-y:auto;padding:16px;background:var(--bg-page)}.rec-detail-section{margin-bottom:16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-sm)}.rec-detail-section h4{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.rec-detail-row{display:flex;justify-content:space-between;padding:7px 0;font-size:12px;border-bottom:1px solid var(--border)}.rec-detail-row:last-child{border-bottom:none}.rec-detail-row .lbl{color:var(--text-secondary)}.rec-detail-row .val{font-weight:500;color:var(--text-primary)}.rec-detail-row .val.variance{font-weight:700}.rec-detail-row .val.variance.negative{color:var(--status-exception)}.rec-detail-row .val.variance.positive{color:var(--status-matched)}.rec-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-tertiary);padding:40px;font-size:13px;font-weight:500}
