:root{--text:#334155;--text-h:#0f172a;--text-muted:#64748b;--text-secondary:#94a3b8;--bg:#f4f7fb;--bg-alt:#edf2f7;--bg-elevated:#fff;--border:#d9e2ec;--code-bg:#eef4fb;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-bg:#2563eb14;--accent-border:#2563eb47;--success:#059669;--success-bg:#0596691a;--success-hover:#047857;--warning:#d97706;--warning-bg:#d977061a;--warning-hover:#b45309;--error:#dc2626;--error-bg:#dc26261a;--error-hover:#b91c1c;--info:#0284c7;--info-bg:#0284c71a;--social-bg:#ffffffb3;--shadow-sm:0 1px 2px 0 #0f172a0d;--shadow:0 1px 3px 0 #0f172a14, 0 1px 2px 0 #0f172a0a;--shadow-md:0 6px 12px -2px #0f172a14, 0 2px 4px -1px #0f172a0a;--shadow-lg:0 14px 24px -4px #0f172a1f, 0 6px 12px -4px #0f172a0f;--shadow-xl:0 24px 36px -8px #0f172a24, 0 10px 18px -6px #0f172a14;--glow:0 0 22px #2563eb2e;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, "SF Mono", monospace;font:15px/160% var(--sans);letter-spacing:-.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:14px}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 12% 12%, #2563eb17 0%, transparent 42%), radial-gradient(ellipse at 88% 10%, #0ea5e912 0%, transparent 36%), radial-gradient(ellipse at 50% 100%, #0596690d 0%, transparent 40%), var(--bg);background-attachment:fixed;min-height:100vh;margin:0}#root{text-align:left;border:none;flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--heading);color:var(--text-h);font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;margin:0;font-size:2rem}h2{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.25rem}h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:6px;display:inline-flex}code{background:var(--code-bg);border:1px solid var(--border);padding:.125rem .375rem;font-size:.8125rem;line-height:1.5}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--accent-border), color-mix(in srgb, var(--accent) 40%, transparent));border:2px solid var(--bg-alt);border-radius:4px}::-webkit-scrollbar-corner{background:var(--bg-alt)}*{scrollbar-width:thin;scrollbar-color:var(--accent-border) var(--bg-alt)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transition:outline-offset .2s}::selection{color:var(--text-h);background:#2563eb38}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover);text-decoration:underline}:disabled{cursor:not-allowed;opacity:.6;filter:grayscale(.3)}::placeholder{color:var(--text-muted);opacity:.7;font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}.animate-fade-in{animation:.3s fadeIn}.animate-scale-in{animation:.3s scaleIn}.animate-slide-up{animation:.3s slideUp}.animate-slide-down{animation:.3s slideDown}.animate-shake{animation:.3s shake}.animate-pulse-ring{animation:1s ease-out pulse-ring}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d}.text-gradient{background:linear-gradient(135deg, var(--accent) 0%, var(--success) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header-content{justify-content:space-between;align-items:flex-start;gap:2rem;width:100%;display:flex}.header-title{flex:1}@media (width<=768px){.header-content{flex-direction:column;align-items:stretch;gap:1rem}.header-title{text-align:center}}:root{--dt-row-selected:13, 110, 253;--dt-row-selected-text:255, 255, 255;--dt-row-selected-link:228, 228, 228;--dt-row-stripe:0, 0, 0;--dt-row-hover:0, 0, 0;--dt-column-ordering:0, 0, 0;--dt-header-align-items:center;--dt-header-vertical-align:middle;--dt-html-background:white}:root.dark{--dt-html-background:#212529}table.dataTable tbody td.dt-control{text-align:center;cursor:pointer}table.dataTable tbody td.dt-control:before{box-sizing:border-box;content:"";border:5px solid #0000;border-left:10px solid #00000080;border-right-width:0;display:inline-block}table.dataTable tbody tr.dt-hasChild td.dt-control:before{border:5px solid #0000;border-top:10px solid #00000080;border-bottom-width:0}table.dataTable tfoot:empty{display:none}html.dark table.dataTable td.dt-control:before,:root[data-bs-theme=dark] table.dataTable td.dt-control:before,:root[data-theme=dark] table.dataTable td.dt-control:before{border-left-color:#ffffff80}html.dark table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before{border-top-color:#ffffff80;border-left-color:#0000}div.dt-scroll{width:100%}div.dt-scroll-body thead tr,div.dt-scroll-body tfoot tr{height:0}div.dt-scroll-body thead tr th,div.dt-scroll-body thead tr td,div.dt-scroll-body tfoot tr th,div.dt-scroll-body tfoot tr td{border-top-width:0!important;border-bottom-width:0!important;height:0!important;padding-top:0!important;padding-bottom:0!important}div.dt-scroll-body thead tr th div.dt-scroll-sizing,div.dt-scroll-body thead tr td div.dt-scroll-sizing,div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,div.dt-scroll-body tfoot tr td div.dt-scroll-sizing{height:0!important;overflow:hidden!important}table.dataTable thead>tr>th.dt-orderable-asc .dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc .dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc .dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc .dt-column-order:before{content:"▲";content:"▲"/"";display:block;position:absolute;bottom:50%}table.dataTable thead>tr>th.dt-orderable-desc .dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc .dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc .dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc .dt-column-order:after{content:"▼";content:"▼"/"";display:block;position:absolute;top:50%}table.dataTable thead>tr>th.dt-orderable-asc .dt-column-order,table.dataTable thead>tr>th.dt-orderable-desc .dt-column-order,table.dataTable thead>tr>th.dt-ordering-asc .dt-column-order,table.dataTable thead>tr>th.dt-ordering-desc .dt-column-order,table.dataTable thead>tr>td.dt-orderable-asc .dt-column-order,table.dataTable thead>tr>td.dt-orderable-desc .dt-column-order,table.dataTable thead>tr>td.dt-ordering-asc .dt-column-order,table.dataTable thead>tr>td.dt-ordering-desc .dt-column-order{width:12px;height:20px;position:relative}table.dataTable thead>tr>th.dt-orderable-asc .dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-asc .dt-column-order:after,table.dataTable thead>tr>th.dt-orderable-desc .dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-desc .dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-asc .dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc .dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc .dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc .dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-asc .dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc .dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc .dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-desc .dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc .dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc .dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc .dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc .dt-column-order:after{opacity:.125;font-size:.8em;line-height:9px;left:0}table.dataTable thead>tr>th.dt-orderable-asc,table.dataTable thead>tr>th.dt-orderable-desc,table.dataTable thead>tr>td.dt-orderable-asc,table.dataTable thead>tr>td.dt-orderable-desc{cursor:pointer}table.dataTable thead>tr>th.dt-orderable-asc:hover,table.dataTable thead>tr>th.dt-orderable-desc:hover,table.dataTable thead>tr>td.dt-orderable-asc:hover,table.dataTable thead>tr>td.dt-orderable-desc:hover{outline-offset:-2px;outline:2px solid #0000000d}table.dataTable thead>tr>th.dt-ordering-asc .dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc .dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc .dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc .dt-column-order:after{opacity:.6}table.dataTable thead>tr>th.dt-orderable-none:not(.dt-ordering-asc,.dt-ordering-desc) .dt-column-order:empty,table.dataTable thead>tr>th.sorting_desc_disabled .dt-column-order:after,table.dataTable thead>tr>th.sorting_asc_disabled .dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-none:not(.dt-ordering-asc,.dt-ordering-desc) .dt-column-order:empty,table.dataTable thead>tr>td.sorting_desc_disabled .dt-column-order:after,table.dataTable thead>tr>td.sorting_asc_disabled .dt-column-order:before{display:none}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead>tr>th div.dt-column-header,table.dataTable thead>tr>th div.dt-column-footer,table.dataTable thead>tr>td div.dt-column-header,table.dataTable thead>tr>td div.dt-column-footer,table.dataTable tfoot>tr>th div.dt-column-header,table.dataTable tfoot>tr>th div.dt-column-footer,table.dataTable tfoot>tr>td div.dt-column-header,table.dataTable tfoot>tr>td div.dt-column-footer{justify-content:space-between;align-items:var(--dt-header-align-items);gap:4px;display:flex}table.dataTable thead>tr>th div.dt-column-header .dt-column-title,table.dataTable thead>tr>th div.dt-column-footer .dt-column-title,table.dataTable thead>tr>td div.dt-column-header .dt-column-title,table.dataTable thead>tr>td div.dt-column-footer .dt-column-title,table.dataTable tfoot>tr>th div.dt-column-header .dt-column-title,table.dataTable tfoot>tr>th div.dt-column-footer .dt-column-title,table.dataTable tfoot>tr>td div.dt-column-header .dt-column-title,table.dataTable tfoot>tr>td div.dt-column-footer .dt-column-title{flex-grow:1}table.dataTable thead>tr>th div.dt-column-header .dt-column-title:empty,table.dataTable thead>tr>th div.dt-column-footer .dt-column-title:empty,table.dataTable thead>tr>td div.dt-column-header .dt-column-title:empty,table.dataTable thead>tr>td div.dt-column-footer .dt-column-title:empty,table.dataTable tfoot>tr>th div.dt-column-header .dt-column-title:empty,table.dataTable tfoot>tr>th div.dt-column-footer .dt-column-title:empty,table.dataTable tfoot>tr>td div.dt-column-header .dt-column-title:empty,table.dataTable tfoot>tr>td div.dt-column-footer .dt-column-title:empty{display:none}div.dt-scroll-body>table.dataTable>thead>tr>th,div.dt-scroll-body>table.dataTable>thead>tr>td{overflow:hidden}:root.dark table.dataTable thead>tr>th.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>th.dt-orderable-desc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid #ffffff0d}div.dt-processing{text-align:center;z-index:10;width:200px;margin-top:-22px;margin-left:-100px;padding:2px;position:absolute;top:50%;left:50%}div.dt-processing>div:last-child{width:80px;height:15px;margin:1em auto;position:relative}div.dt-processing>div:last-child>div{background:#0d6efd;background:rgb(var(--dt-row-selected));border-radius:50%;width:13px;height:13px;animation-timing-function:cubic-bezier(0,1,1,0);position:absolute;top:0}div.dt-processing>div:last-child>div:first-child{animation:.6s infinite datatables-loader-1;left:8px}div.dt-processing>div:last-child>div:nth-child(2){animation:.6s infinite datatables-loader-2;left:8px}div.dt-processing>div:last-child>div:nth-child(3){animation:.6s infinite datatables-loader-2;left:32px}div.dt-processing>div:last-child>div:nth-child(4){animation:.6s infinite datatables-loader-3;left:56px}@keyframes datatables-loader-1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0)}to{transform:translate(24px)}}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable th,table.dataTable td{box-sizing:border-box}table.dataTable th.dt-type-numeric,table.dataTable th.dt-type-date,table.dataTable td.dt-type-numeric,table.dataTable td.dt-type-date{text-align:right}table.dataTable th.dt-type-numeric div.dt-column-header,table.dataTable th.dt-type-numeric div.dt-column-footer,table.dataTable th.dt-type-date div.dt-column-header,table.dataTable th.dt-type-date div.dt-column-footer,table.dataTable td.dt-type-numeric div.dt-column-header,table.dataTable td.dt-type-numeric div.dt-column-footer,table.dataTable td.dt-type-date div.dt-column-header,table.dataTable td.dt-type-date div.dt-column-footer{flex-direction:row-reverse}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-left div.dt-column-header,table.dataTable th.dt-left div.dt-column-footer,table.dataTable td.dt-left div.dt-column-header,table.dataTable td.dt-left div.dt-column-footer{flex-direction:row}table.dataTable th.dt-center,table.dataTable td.dt-center{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-right div.dt-column-header,table.dataTable th.dt-right div.dt-column-footer,table.dataTable td.dt-right div.dt-column-header,table.dataTable td.dt-right div.dt-column-footer{flex-direction:row-reverse}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-justify div.dt-column-header,table.dataTable th.dt-justify div.dt-column-footer,table.dataTable td.dt-justify div.dt-column-header,table.dataTable td.dt-justify div.dt-column-footer{flex-direction:row}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable th.dt-empty,table.dataTable td.dt-empty{text-align:center;vertical-align:top}table.dataTable thead th,table.dataTable thead td,table.dataTable tfoot th,table.dataTable tfoot td{text-align:left;vertical-align:var(--dt-header-vertical-align)}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-left div.dt-column-header,table.dataTable thead th.dt-head-left div.dt-column-footer,table.dataTable thead td.dt-head-left div.dt-column-header,table.dataTable thead td.dt-head-left div.dt-column-footer,table.dataTable tfoot th.dt-head-left div.dt-column-header,table.dataTable tfoot th.dt-head-left div.dt-column-footer,table.dataTable tfoot td.dt-head-left div.dt-column-header,table.dataTable tfoot td.dt-head-left div.dt-column-footer{flex-direction:row}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-right div.dt-column-header,table.dataTable thead th.dt-head-right div.dt-column-footer,table.dataTable thead td.dt-head-right div.dt-column-header,table.dataTable thead td.dt-head-right div.dt-column-footer,table.dataTable tfoot th.dt-head-right div.dt-column-header,table.dataTable tfoot th.dt-head-right div.dt-column-footer,table.dataTable tfoot td.dt-head-right div.dt-column-header,table.dataTable tfoot td.dt-head-right div.dt-column-footer{flex-direction:row-reverse}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-justify div.dt-column-header,table.dataTable thead th.dt-head-justify div.dt-column-footer,table.dataTable thead td.dt-head-justify div.dt-column-header,table.dataTable thead td.dt-head-justify div.dt-column-footer,table.dataTable tfoot th.dt-head-justify div.dt-column-header,table.dataTable tfoot th.dt-head-justify div.dt-column-footer,table.dataTable tfoot td.dt-head-justify div.dt-column-header,table.dataTable tfoot td.dt-head-justify div.dt-column-footer{flex-direction:row}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}:root{--dt-row-hover-alpha:.035;--dt-row-stripe-alpha:.023;--dt-column-ordering-alpha:.019;--dt-row-selected-stripe-alpha:.923;--dt-row-selected-column-ordering-alpha:.919}table.dataTable{border-spacing:0;width:100%;margin:0 auto}table.dataTable thead th,table.dataTable tfoot th{font-weight:700}table.dataTable>thead>tr>th,table.dataTable>thead>tr>td{border-bottom:1px solid #0000004d;padding:10px}table.dataTable>thead>tr>th:active,table.dataTable>thead>tr>td:active{outline:none}table.dataTable>tfoot>tr>th,table.dataTable>tfoot>tr>td{border-top:1px solid #0000004d;padding:10px 10px 6px}table.dataTable>tbody>tr{background-color:#0000}table.dataTable>tbody>tr:first-child>*{border-top:none}table.dataTable>tbody>tr:last-child>*{border-bottom:none}table.dataTable>tbody>tr.selected>*{box-shadow:inset 0 0 0 9999px #0d6efde6;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), .9);color:rgb(var(--dt-row-selected-text))}table.dataTable>tbody>tr.selected a{color:rgb(var(--dt-row-selected-link))}table.dataTable>tbody>tr>th,table.dataTable>tbody>tr>td{padding:8px 10px}table.dataTable.row-border>tbody>tr>*,table.dataTable.display>tbody>tr>*{border-top:1px solid #00000026}table.dataTable.row-border>tbody>tr:first-child>*,table.dataTable.display>tbody>tr:first-child>*{border-top:none}table.dataTable.row-border>tbody>tr.selected+tr.selected>td,table.dataTable.display>tbody>tr.selected+tr.selected>td{border-top-color:#0d6efda6;border-top-color:rgba(var(--dt-row-selected), .65)}table.dataTable.cell-border>tbody>tr>*{border-top:1px solid #00000026;border-right:1px solid #00000026}table.dataTable.cell-border>tbody>tr>:first-child{border-left:1px solid #00000026}table.dataTable.cell-border>tbody>tr:first-child>*{border-top:1px solid #0000004d}table.dataTable.stripe>tbody>tr:nth-child(odd)>*,table.dataTable.display>tbody>tr:nth-child(odd)>*{box-shadow:inset 0 0 0 9999px #00000006;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha))}table.dataTable.stripe>tbody>tr:nth-child(odd).selected>*,table.dataTable.display>tbody>tr:nth-child(odd).selected>*{box-shadow:inset 0 0 0 9999px #0d6efdeb;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-stripe-alpha))}table.dataTable.hover>tbody>tr:hover>*,table.dataTable.display>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px #00000009;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), var(--dt-row-hover-alpha))}table.dataTable.hover>tbody>tr.selected:hover>*,table.dataTable.display>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px #0d6efd!important;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 1)!important}table.dataTable.order-column>tbody tr>.sorting_1,table.dataTable.order-column>tbody tr>.sorting_2,table.dataTable.order-column>tbody tr>.sorting_3,table.dataTable.display>tbody tr>.sorting_1,table.dataTable.display>tbody tr>.sorting_2,table.dataTable.display>tbody tr>.sorting_3{box-shadow:inset 0 0 0 9999px #00000005;box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), var(--dt-column-ordering-alpha))}table.dataTable.order-column>tbody tr.selected>.sorting_1,table.dataTable.order-column>tbody tr.selected>.sorting_2,table.dataTable.order-column>tbody tr.selected>.sorting_3,table.dataTable.display>tbody tr.selected>.sorting_1,table.dataTable.display>tbody tr.selected>.sorting_2,table.dataTable.display>tbody tr.selected>.sorting_3{box-shadow:inset 0 0 0 9999px #0d6efdea;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-column-ordering-alpha))}table.dataTable.display>tbody>tr:nth-child(odd)>.sorting_1,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd)>.sorting_1{box-shadow:inset 0 0 0 9999px #0000000e;box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha)))}table.dataTable.display>tbody>tr:nth-child(odd)>.sorting_2,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd)>.sorting_2{box-shadow:inset 0 0 0 9999px #0000000c;box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - .007))}table.dataTable.display>tbody>tr:nth-child(odd)>.sorting_3,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd)>.sorting_3{box-shadow:inset 0 0 0 9999px #0000000a;box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - .015))}table.dataTable.display>tbody>tr:nth-child(odd).selected>.sorting_1,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd).selected>.sorting_1{box-shadow:inset 0 0 0 9999px #0d6efdf3;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha)))}table.dataTable.display>tbody>tr:nth-child(odd).selected>.sorting_2,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd).selected>.sorting_2{box-shadow:inset 0 0 0 9999px #0d6efdf1;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - .007))}table.dataTable.display>tbody>tr:nth-child(odd).selected>.sorting_3,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd).selected>.sorting_3{box-shadow:inset 0 0 0 9999px #0d6efdef;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - .015))}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{box-shadow:inset 0 0 0 9999px #00000015;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha)))}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{box-shadow:inset 0 0 0 9999px #00000013;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - .007))}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{box-shadow:inset 0 0 0 9999px #00000010;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - .015))}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{box-shadow:inset 0 0 0 9999px #0d6efdfa;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha)))}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{box-shadow:inset 0 0 0 9999px #0d6efdf8;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - .007))}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{box-shadow:inset 0 0 0 9999px #0d6efdf5;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - .015))}table.dataTable.compact thead th,table.dataTable.compact thead td,table.dataTable.compact tfoot th,table.dataTable.compact tfoot td,table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}div.dt-container div.dt-layout-row{justify-content:space-between;align-items:center;width:100%;margin:.75em 0;display:flex}div.dt-container div.dt-layout-row div.dt-layout-cell{justify-content:space-between;align-items:center;display:flex}div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-start{justify-content:flex-start;margin-right:auto}div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-end{justify-content:flex-end;margin-left:auto}div.dt-container div.dt-layout-row div.dt-layout-cell:empty{display:none}@media screen and (width<=767px){div.dt-container div.dt-layout-row:not(.dt-layout-table){display:block}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell{text-align:center;display:block}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell>*{margin:.5em 0}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-start{margin-right:0}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-end{margin-left:0}}div.dt-container div.dt-layout-start>:not(:last-child){margin-right:1em}div.dt-container div.dt-layout-end>:not(:first-child){margin-left:1em}div.dt-container div.dt-layout-full{width:100%}div.dt-container div.dt-layout-full>:only-child{margin-left:auto;margin-right:auto}div.dt-container div.dt-layout-table>div{display:block!important}@media screen and (width<=767px){div.dt-container div.dt-layout-start>:not(:last-child){margin-right:0}div.dt-container div.dt-layout-end>:not(:first-child){margin-left:0}}div.dt-container{clear:both;position:relative}div.dt-container .dt-search input{color:inherit;background-color:#0000;border:1px solid #aaa;border-radius:3px;margin-left:3px;padding:5px}div.dt-container .dt-input{color:inherit;background-color:#0000;border:1px solid #aaa;border-radius:3px;padding:5px}div.dt-container select.dt-input{padding:4px}div.dt-container .dt-paging .dt-paging-button{box-sizing:border-box;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;min-width:1.5em;margin-left:2px;padding:.5em 1em;display:inline-block;color:inherit!important;text-decoration:none!important}div.dt-container .dt-paging .dt-paging-button.current,div.dt-container .dt-paging .dt-paging-button.current:hover{background:-moz-linear-gradient(#0000000d 0%,#e6e6e60d 100%);background:-ms-linear-gradient(top, #e6e6e60d 0%, #0000000d 100%);background:linear-gradient(#e6e6e60d 0%,#0000000d 100%);border:1px solid #0000004d;color:inherit!important}div.dt-container .dt-paging .dt-paging-button.disabled,div.dt-container .dt-paging .dt-paging-button.disabled:hover,div.dt-container .dt-paging .dt-paging-button.disabled:active{cursor:default;box-shadow:none;background:0 0;border:1px solid #0000;color:#00000080!important}div.dt-container .dt-paging .dt-paging-button:hover{background:-moz-linear-gradient(#111 0%,#585858 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(#585858 0%,#111 100%);border:1px solid #111;color:#fff!important}div.dt-container .dt-paging .dt-paging-button:active{background:-moz-linear-gradient(#0c0c0c 0%,#2b2b2b 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(#2b2b2b 0%,#0c0c0c 100%);outline:none;box-shadow:inset 0 0 3px #111}div.dt-container .dt-paging .ellipsis{padding:0 1em}div.dt-container .dt-length,div.dt-container .dt-search,div.dt-container .dt-info,div.dt-container .dt-processing,div.dt-container .dt-paging{color:inherit}div.dt-container .dataTables_scroll{clear:both}div.dt-container .dataTables_scroll div.dt-scroll-body{-webkit-overflow-scrolling:touch}div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>th,div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>td,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>th,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>td{vertical-align:middle}div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>th>div.dataTables_sizing,div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>td>div.dataTables_sizing,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>th>div.dataTables_sizing,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0!important;padding:0!important}div.dt-container.dt-empty-footer tbody>tr:last-child>*,div.dt-container.dt-empty-footer .dt-scroll-body{border-bottom:1px solid #0000004d}div.dt-container.dt-empty-footer .dt-scroll-body tbody>tr:last-child>*{border-bottom:none}html.dark{--dt-row-hover:255, 255, 255;--dt-row-stripe:255, 255, 255;--dt-column-ordering:255, 255, 255}html.dark table.dataTable>thead>tr>th,html.dark table.dataTable>thead>tr>td{border-bottom:1px solid #595b5e}html.dark table.dataTable>thead>tr>th:active,html.dark table.dataTable>thead>tr>td:active{outline:none}html.dark table.dataTable>tfoot>tr>th,html.dark table.dataTable>tfoot>tr>td{border-top:1px solid #595b5e}html.dark table.dataTable.row-border>tbody>tr>*,html.dark table.dataTable.display>tbody>tr>*{border-top:1px solid #404346}html.dark table.dataTable.row-border>tbody>tr:first-child>*,html.dark table.dataTable.display>tbody>tr:first-child>*{border-top:none}html.dark table.dataTable.row-border>tbody>tr.selected+tr.selected>td,html.dark table.dataTable.display>tbody>tr.selected+tr.selected>td{border-top-color:#0d6efda6;border-top-color:rgba(var(--dt-row-selected), .65)}html.dark table.dataTable.cell-border>tbody>tr>th,html.dark table.dataTable.cell-border>tbody>tr>td{border-top:1px solid #404346;border-right:1px solid #404346}html.dark table.dataTable.cell-border>tbody>tr>th:first-child,html.dark table.dataTable.cell-border>tbody>tr>td:first-child{border-left:1px solid #404346}html.dark .dt-container.dt-empty-footer table.dataTable{border-bottom:1px solid #595b5e}html.dark .dt-container .dt-search input,html.dark .dt-container .dt-length select{background-color:var(--dt-html-background);border:1px solid #fff3}html.dark .dt-container .dt-paging .dt-paging-button.current,html.dark .dt-container .dt-paging .dt-paging-button.current:hover{background:#ffffff26;border:1px solid #595b5e}html.dark .dt-container .dt-paging .dt-paging-button.disabled,html.dark .dt-container .dt-paging .dt-paging-button.disabled:hover,html.dark .dt-container .dt-paging .dt-paging-button.disabled:active{color:#666!important}html.dark .dt-container .dt-paging .dt-paging-button:hover{background:#353535;border:1px solid #353535}html.dark .dt-container .dt-paging .dt-paging-button:active{background:#3a3a3a}[dir=rtl] table.dataTable thead th,[dir=rtl] table.dataTable thead td,[dir=rtl] table.dataTable tfoot th,[dir=rtl] table.dataTable tfoot td{text-align:right}[dir=rtl] table.dataTable th.dt-type-numeric,[dir=rtl] table.dataTable th.dt-type-date,[dir=rtl] table.dataTable td.dt-type-numeric,[dir=rtl] table.dataTable td.dt-type-date{text-align:left}[dir=rtl] div.dt-container div.dt-layout-cell.dt-start{text-align:right}[dir=rtl] div.dt-container div.dt-layout-cell.dt-end{text-align:left}[dir=rtl] div.dt-container div.dt-search input{margin:0 3px 0 0}.app-shell{width:100%;max-width:1600px;margin:0 auto;padding:1.5rem;animation:.4s ease-out fadeInUp}*,:before,:after,header,.file-selection-row,.typ-checkbox-group,.chart-card,.stat-card,.summary-box,.difference-section,.file-card,.modal-card,.table-wrapper,.table-section,.export-dropdown,.filters-bar,.filter-group,.typ-checkbox-list,.typ-checkbox-item,.small-button,.page-btn,.tag-list,.badge,.info-section{border-radius:0!important}header{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:0;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;display:flex;position:relative}header .header-logo{width:auto;height:50px}header .logout-btn{background:var(--bg-base);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:color .15s,background .15s,border-color .15s;display:flex}header .logout-btn:hover{color:var(--text);background:var(--bg-elevated);border-color:var(--accent)}.header-logo{width:auto;height:60px}.upload-action{background:var(--bg-elevated);border:1px dashed var(--border);cursor:pointer;color:var(--text);align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.upload-action:hover{border-color:var(--accent-border);background:color-mix(in srgb, var(--accent) 5%, var(--bg-elevated));box-shadow:var(--shadow), var(--glow);transform:translateY(-1px)}.upload-action .app-icon{color:var(--accent);transition:transform .2s}.upload-action:hover .app-icon{transform:translateY(-2px)}.upload-action input[type=file]{display:none}.uploaded-files-list{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.uploaded-file-tag{background:color-mix(in srgb, var(--accent) 8%, var(--bg-elevated));border:1px solid var(--accent-border);color:var(--text);align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.8125rem;animation:.2s ease-out slideIn;display:inline-flex}.uploaded-file-tag .app-icon{color:var(--accent)}.remove-file-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.125rem;transition:color .15s;display:inline-flex}.remove-file-btn:hover{color:var(--error)}.error-box{background:var(--error-bg);color:var(--error);border:1px solid var(--error);border-radius:.75rem;padding:1rem 1.25rem;animation:.3s ease-out slideIn}.tabs{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:.875rem;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.375rem;display:flex;position:relative}.tabs:before{content:"";background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);z-index:0;opacity:0;border-radius:.625rem;height:calc(100% - .75rem);transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute}.tabs button{z-index:1;transition:all .3s;position:relative}.tabs button.active{box-shadow:none;background:0 0}.glow-accent{box-shadow:0 0 20px #2563eb4d,0 0 40px #2563eb1a}.glow-success{box-shadow:0 0 20px #0596694d,0 0 40px #0596691a}.glow-warning{box-shadow:0 0 20px #d977064d,0 0 40px #d977061a}.glow-error{box-shadow:0 0 20px #dc26264d,0 0 40px #dc26261a}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%);animation:2s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.counter-animate{animation:.3s counter-pulse;display:inline-block}@keyframes counter-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.status-indicator{border-radius:999px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.status-indicator:before{content:"";border-radius:50%;width:8px;height:8px;animation:2s infinite status-pulse}.status-indicator.online{background:var(--success-bg);color:var(--success)}.status-indicator.online:before{background:var(--success)}.status-indicator.warning{background:var(--warning-bg);color:var(--warning)}.status-indicator.warning:before{background:var(--warning)}.status-indicator.offline{background:var(--error-bg);color:var(--error)}.status-indicator.offline:before{background:var(--error);animation:none}@keyframes status-pulse{0%,to{box-shadow:0 0}50%{box-shadow:0 0 0 4px #0000}}.gradient-border{background:var(--bg-elevated);background-clip:padding-box;border:1px solid #0000;position:relative}.gradient-border:before{content:"";background:linear-gradient(135deg, var(--accent), var(--success), var(--warning));border-radius:inherit;z-index:-1;opacity:.5;transition:opacity .3s;position:absolute;inset:-1px}.gradient-border:hover:before{opacity:1}.magnetic-btn{transition:transform .3s cubic-bezier(.4,0,.2,1)}.magnetic-btn:hover{transform:scale(1.02)}.magnetic-btn:active{transform:scale(.98)}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.shadow-glow{box-shadow:0 0 20px #2563eb33,0 0 40px #2563eb1a}.shadow-glow-sm{box-shadow:0 0 10px #2563eb26}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{box-shadow:var(--shadow-lg), 0 20px 40px -15px #0f172a26;transform:translateY(-4px)}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px)}.backdrop-blur{-webkit-backdrop-filter:blur(8px)}.backdrop-blur-lg{-webkit-backdrop-filter:blur(16px)}.ring-focus:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);outline:none}.transition-colors{transition:color .2s,background-color .2s,border-color .2s}.scale-on-hover{transition:transform .2s}.scale-on-hover:hover{transform:scale(1.05)}.scale-on-active:active{transform:scale(.95)}.opacity-hover{opacity:.7;transition:opacity .2s}.opacity-hover:hover{opacity:1}.tabs button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:.625rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;position:relative}.tabs button:hover{background:var(--accent-bg);color:var(--accent)}.tabs button.active{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:#fff;box-shadow:var(--shadow)}.content{width:100%;max-width:100%;display:block}aside{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:1rem;height:fit-content;padding:1.25rem;position:sticky;top:1.5rem}aside h2{color:var(--text-h);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-size:1rem;font-weight:600}main{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:1rem;max-width:100%;min-height:600px;padding:1.5rem;overflow-x:hidden}.file-list ul{margin:0;padding:0;list-style:none}.file-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;transition:all .2s;display:flex}.file-list li:last-child{border-bottom:none}.file-list li:hover{padding-left:.5rem}.file-list li strong{color:var(--text-h);font-size:.8125rem;font-weight:500}.file-list li:before{content:"";margin-right:.25rem;font-size:.875rem}.file-list p{color:var(--text-muted);text-align:center;padding:1rem 0;font-style:italic}.small-button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:.5rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;transition:all .2s}.small-button:hover{background:var(--error-bg);color:var(--error);border-color:var(--error)}.mode-panel{flex-direction:column;gap:1.5rem;animation:.3s ease-out fadeInUp;display:flex}.row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.row label{min-width:200px;color:var(--text);flex-direction:column;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.row select,.row input[type=text]{border:1px solid var(--border);background:var(--bg);width:100%;min-width:200px;color:var(--text-h);cursor:pointer;border-radius:.625rem;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.row select:hover,.row input[type=text]:hover{border-color:var(--accent-border)}.row select:focus,.row input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.metrics-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.metric{background:linear-gradient(145deg, var(--bg) 0%, var(--bg-elevated) 100%);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:.875rem;padding:1.25rem;transition:all .2s;position:relative;overflow:hidden}.metric:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.metric:before{content:"";background:linear-gradient(90deg, var(--accent), var(--success));height:2px;position:absolute;top:0;left:0;right:0}.metric:nth-child(2):before{background:linear-gradient(90deg, var(--success), var(--warning))}.metric:nth-child(3):before{background:linear-gradient(90deg, var(--warning), var(--accent))}.summary-box{background:var(--bg);border:1px solid var(--border);border-radius:.75rem;flex:240px;padding:1rem;transition:all .2s}.summary-box:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.summary-box strong{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem;display:block}.summary-box div{color:var(--text-h);word-break:break-word;font-size:.875rem}.table-wrapper{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--bg-elevated);-webkit-overflow-scrolling:touch;border-radius:.875rem;max-width:100%;overflow:auto visible}.table-wrapper::-webkit-scrollbar{height:10px}.table-wrapper::-webkit-scrollbar-track{background:var(--bg);border-radius:0 0 .875rem .875rem}.table-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}table{border-collapse:separate;border-spacing:0;table-layout:auto;width:auto;min-width:100%;font-size:.8125rem}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;text-overflow:ellipsis;white-space:nowrap;max-width:400px;padding:.75rem 1rem;overflow:hidden}td:hover{white-space:normal;word-break:break-word;overflow:visible}th{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-elevated) 100%);color:var(--text-h);text-transform:uppercase;letter-spacing:.03em;z-index:10;font-size:.75rem;font-weight:600;position:sticky;top:0}th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,color .2s,transform .2s}th.sortable-header:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-bg) 75%, var(--bg)), var(--bg-elevated))}.th-label{align-items:center;gap:.4rem;display:inline-flex}.sort-indicator{opacity:.45;justify-content:center;align-items:center;margin-left:.5rem;font-size:.68rem;transition:opacity .2s,transform .2s,color .2s;display:inline-flex}.sort-indicator.active{opacity:1;color:var(--accent);transform:translateY(-1px)}th:first-child{border-top-left-radius:.875rem}th:last-child{border-top-right-radius:.875rem}tbody tr{transition:background .15s}tbody tr:hover{background:var(--accent-bg)}tbody tr:last-child td{border-bottom:none}tbody tr:last-child td:first-child{border-bottom-left-radius:.875rem}tbody tr:last-child td:last-child{border-bottom-right-radius:.875rem}.cell-match{color:#fff;font-weight:500;background:#059669a6!important}.cell-no-match{color:var(--error);font-weight:500;background:var(--error-bg)!important}.cell-no-match-left{color:#1e40af;font-weight:600;background:#3b82f633!important}.cell-no-match-right{color:#991b1b;font-weight:600;background:#ef444433!important}.uid-match{color:#fff}.uid-left{color:#1e40af}.uid-right{color:#991b1b}.uid-multi-list{flex-direction:column;gap:.45rem;display:flex}.uid-multi-item{white-space:normal;word-break:break-word;line-height:1.45;display:inline}.uid-multi-item mark{color:#000;margin:0 .05rem}mark{color:#000;background:linear-gradient(120deg,#fbbf24,#f59e0b);border-radius:3px;padding:2px 3px;font-weight:700;box-shadow:0 0 8px #f59e0b66}.row-status-both{background:#0596691a}.row-status-both:hover{background:#0596692e}.row-status-both td{color:#111;font-weight:500}.row-status-both td:first-of-type,.row-status-both td:nth-of-type(2){color:#111;z-index:10;background:#05966933;border-right:2px solid #05966966;font-weight:600;position:sticky;left:0}.row-status-left{background:#3b82f614}.row-status-left:hover{background:#3b82f624}.row-status-left td{color:#111;font-weight:500}.row-status-left td:first-of-type,.row-status-left td:nth-of-type(2){color:#111;z-index:10;background:#3b82f626;border-right:2px solid #3b82f666;font-weight:600;position:sticky;left:0}.row-status-right{background:#ef444414}.row-status-right:hover{background:#ef444424}.row-status-right td{color:#111;font-weight:500}.row-status-right td:first-of-type,.row-status-right td:nth-of-type(2){color:#111;z-index:10;background:#ef444426;border-right:2px solid #ef444466;font-weight:600;position:sticky;left:0}th:first-of-type,th:nth-of-type(2){background:linear-gradient(180deg, var(--accent-bg) 0%, var(--accent) 100%);color:#fff;z-index:11;font-weight:700;position:sticky;left:0}.tab-button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:.625rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:all .2s}.tab-button:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.tab-button.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.tabs-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.checkbox-row{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:.625rem;align-items:center;gap:.625rem;padding:.75rem;transition:all .2s;display:flex}.checkbox-row:hover{border-color:var(--accent-border)}.checkbox-row input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--accent)}.difference-section{background:var(--bg);border:1px solid var(--border);border-radius:.875rem;margin-top:1.5rem;padding:1.25rem;animation:.3s ease-out fadeInUp}.difference-section h3{color:var(--text-h);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-size:.9375rem}.mode-panel>p{color:var(--text-muted);text-align:center;padding:3rem 1rem;font-style:italic}.landing-page{flex-direction:column;gap:2.5rem;animation:.5s ease-out fadeInUp;display:flex}.landing-hero-banner{color:#f8fafc;background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);padding:3.5rem 3rem;position:relative;overflow:hidden}.landing-hero-grid{background-image:linear-gradient(#2563eb26 1px,#0000 1px),linear-gradient(90deg,#2563eb26 1px,#0000 1px);background-size:60px 60px;animation:8s ease-in-out infinite gridPulse;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000 30%,#0000 70%);mask-image:radial-gradient(70% 70%,#000 30%,#0000 70%)}@keyframes gridPulse{0%,to{opacity:.4}50%{opacity:.8}}.landing-hero-banner:after{content:"";background:linear-gradient(to top, var(--bg-elevated), transparent);pointer-events:none;height:120px;position:absolute;bottom:0;left:0;right:0}.landing-hero-content{z-index:1;max-width:680px;margin-bottom:2.5rem;position:relative}.landing-hero-badge{letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#2563eb40,#05966933);border:1px solid #2563eb66;margin-bottom:1.25rem;padding:.375rem 1rem;font-size:.75rem;font-weight:600;display:inline-flex}.landing-hero-content h2{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#93c5fd 50%,#60a5fa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;font-size:2.75rem;font-weight:800;line-height:1.1}.landing-hero-content p{color:#94a3b8;max-width:520px;margin:0 0 2rem;font-size:1.0625rem;line-height:1.65}.landing-hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.landing-hero-btn{cursor:pointer;color:#e2e8f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e293b99;border:1px solid #94a3b84d;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .25s;display:inline-flex;position:relative;overflow:hidden}.landing-hero-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#0000,#ffffff0d);transition:opacity .25s;position:absolute;inset:0}.landing-hero-btn:hover{border-color:#94a3b880;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.landing-hero-btn:hover:before{opacity:1}.landing-hero-btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb99;box-shadow:0 4px 16px #2563eb4d}.landing-hero-btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6cc;box-shadow:0 8px 32px #2563eb73}.landing-hero-stats{z-index:1;border-top:1px solid #94a3b826;flex-wrap:wrap;gap:2rem;padding-top:.5rem;display:flex;position:relative}.landing-hero-stat{flex-direction:column;gap:.25rem;display:flex}.landing-hero-stat-number{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1}.landing-hero-stat-uploaded .landing-hero-stat-number{background:linear-gradient(135deg,#34d399,#059669);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-hero-stat-label{text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-size:.6875rem;font-weight:600}.landing-section h3{color:var(--text-h);letter-spacing:-.01em;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:1.125rem;font-weight:700;display:flex}.landing-cards{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.landing-card{background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);align-items:flex-start;gap:1rem;width:100%;padding:1.5rem;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.landing-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-hover));width:3px;height:0;transition:height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.landing-card:hover{box-shadow:0 8px 24px #00000014, 0 0 0 1px var(--accent-border);border-color:var(--accent-border);transform:translateY(-3px)}.landing-card:hover:before{height:100%}.landing-card-icon{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent), color-mix(in srgb, var(--accent) 6%, transparent));width:3rem;height:3rem;color:var(--accent);border:1px solid var(--accent-border);flex-shrink:0;justify-content:center;align-items:center;transition:all .25s;display:flex}.landing-card:hover .landing-card-icon{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-color:var(--accent);box-shadow:0 4px 12px #2563eb33}.landing-card-content strong{color:var(--text-h);margin-bottom:.375rem;font-size:.9375rem;font-weight:600;display:block}.landing-card-content p{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.55}.landing-steps{flex-direction:column;gap:1rem;display:flex}.landing-step{background:var(--bg-elevated);border:1px solid var(--border);align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;transition:all .25s;display:flex;position:relative}.landing-step:hover{border-color:var(--accent-border);box-shadow:0 4px 12px #0000000d}.landing-step-number{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.875rem;font-weight:800;display:flex;box-shadow:0 2px 8px #2563eb33}.landing-step-body strong{color:var(--text-h);margin-bottom:.25rem;font-size:.9375rem;font-weight:600;display:block}.landing-step-body p{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.55}.landing-features{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.landing-feature{text-align:center;background:var(--bg-elevated);border:1px solid var(--border);flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.landing-feature:hover{border-color:var(--accent-border);transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.landing-feature .app-icon{color:var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), color-mix(in srgb, var(--accent) 5%, transparent));border:1px solid var(--accent-border);flex-shrink:0;padding:.5rem;transition:all .25s}.landing-feature:hover .app-icon{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-color:var(--accent);box-shadow:0 4px 12px #2563eb33}.landing-feature strong{color:var(--text-h);font-size:.875rem;font-weight:600}.landing-feature span{color:var(--text-muted);font-size:.75rem;line-height:1.55}@media (width<=768px){.landing-hero-banner{padding:2.5rem 1.5rem}.landing-hero-content h2{font-size:2rem}.landing-cards{grid-template-columns:1fr}.landing-features{grid-template-columns:repeat(2,1fr)}.landing-hero-stats{gap:1.5rem}}@media (width<=480px){.landing-hero-banner{padding:2rem 1rem}.landing-hero-content h2{font-size:1.5rem}.landing-hero-content p{font-size:.9375rem}.landing-features{grid-template-columns:1fr}.landing-hero-actions{flex-direction:column}.landing-hero-btn{justify-content:center}}.shares-esp-panel{flex-direction:column;gap:1.5rem;display:flex}.file-selection-row{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.75rem;grid-template-columns:repeat(2,minmax(250px,1fr));align-items:start;gap:1.25rem;margin-bottom:1rem;padding:1.25rem;display:grid}.file-selection-row label{background:0 0;border:none;flex-direction:column;gap:.6rem;padding:0;display:flex}.file-selection-row label span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:700;display:inline-flex}.file-selection-row select{border:2px solid var(--border);background:var(--bg);width:100%;min-height:3rem;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:.625rem;padding:.75rem 2.5rem .75rem .875rem;font-size:.9375rem;font-weight:500;transition:border-color .2s,box-shadow .2s,background-color .2s}.file-selection-row select:hover{border-color:var(--accent-border);background-color:var(--accent-bg)}.file-selection-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.file-selection-row select option{background:var(--bg);color:var(--text);padding:.5rem}.input-icon{background:var(--accent-bg);width:28px;height:28px;color:var(--accent);border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex}.typ-checkbox-row{width:100%;margin-bottom:.75rem}.typ-checkbox-group{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:.75rem;padding:.5rem;display:flex}.typ-checkbox-header{flex-direction:column;gap:.6rem;display:flex}.typ-checkbox-title-wrap{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.typ-checkbox-title{color:var(--text-h);letter-spacing:.01em;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:700;display:inline-flex}.typ-checkbox-count{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.typ-checkbox-summary{flex-wrap:wrap;gap:.5rem;display:flex}.typ-summary-pill{background:var(--success-bg);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 25%, var(--border));border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.typ-summary-pill.muted{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border)}.typ-checkbox-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.typ-checkbox-actions .small-button{background:var(--bg);color:var(--text);border-color:var(--border)}.typ-checkbox-actions .small-button:hover{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.typ-checkbox-list{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);border:1px solid var(--border);border-radius:.875rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;max-height:11rem;padding:.75rem;display:grid;overflow:auto}.typ-checkbox-item{color:var(--text-h);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:1rem;align-items:center;gap:.65rem;padding:.8rem .9rem;font-size:.8125rem;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:flex}.typ-checkbox-item:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.typ-checkbox-item.selected{background:linear-gradient(135deg, var(--accent-bg), color-mix(in srgb, var(--bg-elevated) 85%, transparent));border-color:var(--accent-border);box-shadow:0 12px 20px -14px #2563eb73}.typ-checkbox-item input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);flex-shrink:0}.typ-checkbox-item span{word-break:break-word;line-height:1.35}.typ-checkbox-empty{color:var(--text-muted);padding:.5rem .2rem;font-size:.8125rem;font-style:italic}.typ-checkbox-footer{color:var(--text-muted);padding-top:.2rem;font-size:.75rem;line-height:1.5}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stat-card{text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;gap:.25rem;padding:.5rem;transition:none;display:flex;position:relative;overflow:visible}.stat-card:before{display:none}.stat-card:hover{box-shadow:none;transform:none}.stat-value{color:var(--text-h);margin-bottom:.5rem;font-size:2rem;font-weight:700;line-height:1}.stat-card.success .stat-value{color:var(--success)}.stat-card.accent .stat-value{color:var(--accent)}.stat-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.stat-badge{background:var(--accent-bg);color:var(--accent);border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;position:absolute;top:.75rem;right:.75rem}.stat-card.success .stat-badge{background:var(--success-bg);color:var(--success)}.charts-row{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem;display:grid}.chart-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:.75rem}.chart-card h4{color:var(--text-h);border-bottom:none;margin:0 0 1rem;padding-bottom:.25rem;font-size:.9375rem;font-weight:600}.card-toolbar{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.collapse-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.35rem .5rem;font-weight:600;transition:color .15s,transform .15s}.collapse-toggle:hover{color:var(--accent-hover);transform:translateY(-1px)}.match-summary-card{background:0 0;border:none;padding:.5rem .25rem}.match-summary-flex{grid-template-columns:minmax(250px,1fr) minmax(300px,1.4fr);align-items:start;gap:1.5rem;display:grid}.match-rate-panel{flex-direction:column;gap:1.25rem;display:flex}.match-rate-intro p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.match-rate-charts{justify-content:space-between;gap:1rem;padding:.5rem 0}.collapsed-summary{border-top:1px solid var(--border);color:var(--text-muted);padding:1rem 0;font-size:.95rem}.collapsed-summary p{margin:0}.match-rate-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.rate-tile{background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:flex-start;min-height:70px;padding:.5rem .25rem;display:flex}.rate-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.4rem;font-size:.75rem;display:block}.rate-tile strong{color:var(--text-h);font-size:1.5rem}.rate-tile em{color:var(--text-muted);font-size:.82rem}.rate-tile.success{border-color:var(--success)}.rate-tile.warning{border-color:var(--warning)}.rate-tile.info{border-color:#3b82f6}.distribution-panel{flex-direction:column;gap:1rem;display:flex}.donut-label span{color:var(--text-muted);font-size:.75rem}.donut-label strong{color:var(--text-h)}@media (width<=960px){.charts-row,.match-summary-flex{grid-template-columns:1fr}.match-rate-charts{flex-wrap:wrap;justify-content:center}}.bar-chart{flex-direction:column;gap:.875rem;display:flex}.distribution-summary{color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.8125rem;display:flex}.distribution-summary strong{color:var(--text-h)}.distribution-total{color:var(--text-h);font-weight:700}.stacked-distribution{border:1px solid var(--border);background:var(--bg-elevated);border-radius:9999px;width:100%;min-height:1.15rem;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05}.stack-segment{min-width:0;height:100%;transition:width .35s}.distribution-legend{gap:.65rem;margin-top:1rem;display:grid}.legend-item{color:var(--text);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;font-size:.8125rem;display:grid}.legend-item strong{color:var(--text-h)}.legend-item em{color:var(--text-muted);font-style:normal}.legend-swatch{border-radius:9999px;width:.85rem;height:.85rem;display:inline-block}.bar-item{grid-template-columns:100px 1fr 50px;align-items:center;gap:.75rem;display:grid}.bar-label{color:var(--text);font-size:.8125rem;font-weight:500}.bar-wrapper{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.5rem;height:24px;overflow:hidden}.bar{border-radius:.5rem;height:100%;transition:width .4s}.bar.fill-accent{background:linear-gradient(90deg, var(--accent), var(--accent-hover))}.bar.fill-success{background:linear-gradient(90deg, var(--success), #059669)}.bar.fill-warning{background:linear-gradient(90deg, var(--warning), #d97706)}.bar.fill-error{background:linear-gradient(90deg, var(--error), #dc2626)}.bar.fill-info{background:linear-gradient(90deg,#3b82f6,#2563eb)}.bar-value{color:var(--text-h);text-align:right;font-size:.8125rem;font-weight:600}.donut-charts{justify-content:flex-start;gap:1rem;padding:.5rem 0;display:flex}.mini-donut{width:84px;height:84px;position:relative}.mini-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.mini-donut circle{transition:stroke-dasharray .5s}.donut-label{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-label strong{color:var(--text-h);font-size:1.05rem;font-weight:700;line-height:1;display:block}.donut-label span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem}.filters-bar{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:1rem;padding:1.25rem;display:grid}.filter-group{background:var(--bg-elevated);border:1px solid var(--border);border-radius:1rem;flex-direction:column;gap:.75rem;min-width:180px;padding:.95rem .95rem .75rem;display:flex}.filter-group label{color:var(--text);flex-direction:column;gap:.55rem;font-size:.82rem;font-weight:600;display:flex}.filter-group input[type=text],.filter-group select{border:1px solid var(--border);background:var(--bg);width:100%;min-width:100%;color:var(--text-h);border-radius:.75rem;padding:.75rem .95rem;font-size:.88rem;transition:border-color .2s,box-shadow .2s}.filter-group input[type=text]:focus,.filter-group select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #3b82f61f}.filter-group input[type=text]:disabled{background-color:var(--bg-alt);border-color:var(--border);color:var(--text-secondary);cursor:not-allowed;opacity:.7}.filter-group select[multiple]{min-height:8rem}.filter-group .input-icon{margin-right:.5rem}.filter-stats{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text);border-radius:.625rem;margin-left:auto;padding:.625rem 1rem;font-size:.8125rem}.filter-stats strong{color:var(--text-h);font-weight:600}.table-section{border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:.875rem;max-width:100%;overflow:hidden}.table-section .table-wrapper{box-shadow:none;border:none;border-radius:0}.pagination-bar{background:var(--bg);border:1px solid var(--border);border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.pagination-info{color:var(--text);font-size:.8125rem}.pagination-info strong{color:var(--text-h);font-weight:600}.pagination-controls{align-items:center;gap:.375rem;display:flex}.page-btn{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;transition:all .15s;display:flex}.page-btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-numbers{gap:.25rem;display:flex}.page-num{cursor:pointer;min-width:36px;height:36px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.page-num:hover{background:var(--accent-bg);color:var(--accent)}.page-num.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.pagination-jump input{border:1px solid var(--border);background:var(--bg-elevated);width:80px;color:var(--text-h);text-align:center;border-radius:.5rem;padding:.5rem .625rem;font-size:.8125rem}.pagination-jump input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.empty-state{text-align:center;background:var(--bg);border:1px solid var(--border);border-style:dashed;border-radius:1rem;padding:4rem 2rem}.empty-icon{opacity:.7;filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 25%, transparent));margin-bottom:1rem;font-size:4rem}.empty-state h3{color:var(--text-h);margin-bottom:.5rem;font-size:1.25rem}.empty-state p{color:var(--text-muted);max-width:400px;margin:0 auto}@media (width<=1024px){.app-shell{padding:1rem}.content{grid-template-columns:1fr}aside{position:static}.row{flex-direction:column}.row label{width:100%}.metrics-row,.charts-row{grid-template-columns:1fr}.donut-charts{gap:1rem}.filters-bar{flex-direction:column;align-items:stretch}.filter-group label,.filter-group input,.filter-group select{width:100%;min-width:auto}.filter-stats{text-align:center;margin-left:0}.pagination-bar{flex-direction:column;gap:.75rem}.pagination-controls{order:-1}.stats-grid{grid-template-columns:repeat(2,1fr)}header h1{font-size:1.5rem}}@media (width<=640px){.stats-grid{grid-template-columns:1fr}.bar-item{grid-template-columns:70px 1fr 40px}.mini-donut{width:80px;height:80px}.donut-label strong{font-size:1rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.clickable-row{cursor:pointer}.table-note{background:var(--bg-elevated);border-bottom:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex;position:relative}.export-dropdown{z-index:101;display:inline-flex;position:relative}.export-dropdown>.action-button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.export-dropdown>.action-button:hover{background:var(--accent-hover)}.export-menu{z-index:100;border:1px solid var(--border);background:var(--bg-elevated);min-width:180px;box-shadow:var(--shadow-lg);border-radius:.625rem;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.export-option{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem .875rem;font-size:.875rem;font-weight:500;display:flex}.table-header-bar{justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.export-menu{z-index:100;border:1px solid var(--border);background:var(--bg-elevated);min-width:190px;box-shadow:var(--shadow-lg), 0 0 0 1px color-mix(in srgb, var(--accent) 5%, transparent);border-radius:.75rem;flex-direction:column;gap:2px;padding:4px;animation:.15s ease-out fadeInUp;display:flex;position:absolute;top:calc(100% + 4px);right:0}.export-dropdown{display:inline-flex;position:relative}.export-option{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.export-option:hover{background:var(--accent-bg);color:var(--accent)}.export-option .app-icon{color:var(--accent)}.modal-overlay{z-index:9999;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);border:1px solid var(--border);width:min(100%,720px);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-xl), 0 0 60px #0f172a4d;border-radius:.75rem;margin:auto;position:relative;top:auto;left:auto;overflow-y:auto;transform:none}.modal-card.modal-large{width:min(100%,900px);max-height:calc(100vh - 2rem)}.modal-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:100;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.modal-title-section{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.modal-title-section h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.match-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:.5rem;flex-shrink:0;padding:.35rem .65rem;font-size:.75rem;font-weight:600}.match-badge.match-both{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.match-badge.match-left{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent)}.match-badge.match-right{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.modal-close{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:.35rem;font-size:1.25rem;transition:all .2s;display:flex}.modal-close:hover{color:var(--accent);background:var(--accent-bg)}.modal-body-large{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.modal-section{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.625rem;padding:1rem}.modal-section h3{color:var(--text-h);border-bottom:1px solid var(--accent);align-items:center;gap:.5rem;margin:0 0 .75rem;padding-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.match-summary-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width<=640px){.match-summary-grid{grid-template-columns:1fr}}.summary-item{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;gap:.35rem;padding:.625rem .75rem;display:flex}.summary-item .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:600}.summary-item .value{color:var(--text-h);font-size:.8125rem;font-family:var(--mono);word-break:break-word;line-height:1.4}.badge{border-radius:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.badge-info{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent)}.badge-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.uid-code{background:var(--bg);border:1px dashed var(--border);font-family:var(--mono);word-break:break-all;border-radius:.375rem;padding:.5rem .625rem;font-size:.75rem;line-height:1.4;display:block;overflow-x:auto}.comparison-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=640px){.comparison-grid{grid-template-columns:1fr}}.comparison-side{border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.comparison-side.left-side{border-left:3px solid var(--accent)}.comparison-side.right-side{border-left:3px solid var(--error)}.side-header{background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-h);align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;font-weight:600;display:flex}.field-list{flex-direction:column;gap:.5rem;max-height:280px;padding:.625rem .875rem;display:flex;overflow-y:auto}.comparison-field{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;padding-bottom:.5rem;display:flex}.comparison-field:last-child{border-bottom:none;padding-bottom:0}.field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem;font-weight:600}.field-value{color:var(--text-h);font-size:.75rem;font-family:var(--mono);word-break:break-word;line-height:1.35}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border);background:var(--bg);border-radius:.5rem;padding:1rem;font-size:.8125rem;font-style:italic}.match-info-box,.mismatch-info-box{border-radius:.5rem;padding:.875rem;line-height:1.6}.match-info-box{color:var(--text);background:#10b9811a;border:1px solid #10b9814d}.match-info-box p{margin:.35rem 0;font-size:.8125rem}.match-info-box strong{color:var(--success)}.mismatch-info-box{color:var(--text);background:#ef444414;border:1px solid #ef44444d}.mismatch-info-box p{margin:0 0 .75rem;font-size:.8125rem}.mismatch-info-box strong{color:var(--error)}.action-suggestions{background:var(--bg);border:1px dashed var(--border);border-radius:.5rem;margin-top:.75rem;padding:.75rem}.action-suggestions strong{color:var(--text-h);margin-bottom:.5rem;font-size:.8125rem;display:block}.action-suggestions ul{margin:0;padding-left:1.25rem}.action-suggestions li{color:var(--text);margin:.35rem 0;font-size:.75rem}.fields-ref-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.625rem;display:grid}.ref-field{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.625rem .75rem}.ref-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.6875rem;font-weight:600}.ref-value{color:var(--text-h);font-size:.75rem;font-family:var(--mono);word-break:break-word;line-height:1.3}.info-panel{background:linear-gradient(135deg, var(--bg) 0%, var(--bg-alt) 100%);width:100%;margin:0;position:relative;overflow:hidden}.info-panel:before{content:"";background:linear-gradient(90deg, var(--accent), var(--success), var(--warning), var(--accent));height:4px;position:absolute;top:0;left:0;right:0}.info-container{z-index:1;width:100%;margin:0;padding:2.5rem 2rem;position:relative}.info-container>h2{color:var(--text-h);text-align:center;text-shadow:0 2px 4px #0000001a;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:2.25rem;font-weight:700;display:flex}.info-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2.5rem;font-size:1.1rem}.info-section{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.25rem;margin-bottom:1.75rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.info-section:before{content:"";background:linear-gradient(180deg, var(--accent) 0%, var(--accent-hover) 100%);width:4px;height:100%;position:absolute;top:0;left:0}.info-section:hover{box-shadow:var(--shadow-lg), 0 0 40px #818cf81a;border-color:var(--accent-border);transform:translateY(-3px)}.info-section h3{color:var(--text-h);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin:0 0 1.25rem;padding-bottom:.75rem;font-size:1.4rem;font-weight:600;display:flex}.info-section h3 span:first-child{filter:drop-shadow(0 2px 4px #0000001a);font-size:1.6rem}.info-section p{color:var(--text);margin-bottom:1rem;font-size:.95rem;line-height:1.7}.mermaid-diagram{background:var(--bg-alt);border:1px solid var(--border);border-radius:1rem;width:100%;min-height:320px;padding:1rem;overflow:auto}.mermaid-diagram svg{width:100%!important;height:auto!important}.mermaid-error{color:var(--error);border:1px solid var(--error);font-family:var(--mono);white-space:pre-wrap;background:#fee2e2cc;border-radius:.75rem;padding:1rem}.feature-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.feature-item{background:linear-gradient(135deg, var(--bg-alt) 0%, var(--bg) 100%);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;transition:all .3s;position:relative}.feature-item:before{content:"";background:linear-gradient(90deg, var(--accent), var(--success));border-radius:1rem 1rem 0 0;height:3px;position:absolute;top:0;left:0;right:0}.feature-item:hover{box-shadow:var(--shadow-md);border-color:var(--accent-border);transform:translateY(-4px)}.feature-item strong{color:var(--accent);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.05rem;display:flex}.feature-item p{color:var(--text);margin-bottom:0;font-size:.9rem}.uniqueid-info{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.info-box{border:1px solid #3b82f633;border-left:4px solid var(--accent);background:linear-gradient(135deg,#3b82f60d 0%,#3b82f605 100%);border-radius:.75rem;padding:1rem}.info-box strong{color:var(--accent);margin-bottom:.5rem;font-size:.95rem;display:block}.info-box p{color:var(--text-h);margin-bottom:.5rem;font-size:.9rem;line-height:1.5}.info-box ol,.info-box ul{color:var(--text-h);font-size:.9rem;line-height:1.6}.info-box li{margin-bottom:.4rem}.example-code{background:var(--bg);border:1px solid var(--border);color:var(--text-h);white-space:pre-wrap;word-wrap:break-word;border-radius:.5rem;margin-top:.5rem;padding:.75rem;font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto}.files-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin:1.25rem 0;display:grid}.file-card{text-align:left;background:0 0;border:none;border-radius:0;padding:.5rem;transition:none;position:relative}.file-card:before{display:none}.file-card:hover{box-shadow:none;transform:none}.file-card:hover:before{opacity:1}.file-card>*{z-index:1;position:relative}.file-icon{filter:drop-shadow(0 4px 8px #0000001f);margin-bottom:1rem;font-size:3.5rem;display:block}.file-name{color:var(--text-h);word-break:break-word;margin-bottom:.75rem;padding:0 .5rem;font-size:.85rem;font-weight:600;line-height:1.4}.file-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.8rem;line-height:1.5}.column-badges{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.badge-column{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:.4rem;max-width:100%;padding:.3rem .7rem;font-size:.65rem;font-weight:600;line-height:1.2;transition:transform .2s;display:inline-flex;overflow:hidden;box-shadow:0 2px 4px #0000001a}.badge-column:hover{transform:scale(1.05)}.step-list{flex-direction:column;gap:1.25rem;display:flex;position:relative}.step-list:before{content:"";background:linear-gradient(180deg, var(--accent) 0%, var(--success) 50%, var(--accent) 100%);opacity:.3;width:2px;position:absolute;top:0;bottom:0;left:1.5rem}.step{background:linear-gradient(135deg, var(--bg-alt) 0%, var(--bg) 100%);border:1px solid var(--border);border-radius:1rem;gap:1.25rem;padding:1.25rem 1.5rem;transition:all .3s;display:flex;position:relative}.step:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm);transform:translate(4px)}.step-number{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:#fff;z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3rem;min-width:3rem;height:3rem;font-size:1.25rem;font-weight:700;display:flex;position:relative;box-shadow:0 4px 12px #6366f166}.step-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.step-content strong{color:var(--accent);font-size:1.05rem;font-weight:600}.step-content ul{margin:.5rem 0 0;padding-left:1.25rem}.step-content li{color:var(--text);margin-bottom:.4rem;line-height:1.6;position:relative}.badge-both,.badge-left,.badge-right{border-radius:.5rem;align-items:center;gap:.35rem;margin:0 .25rem;padding:.4rem .85rem;font-size:.875rem;font-weight:600;transition:transform .2s;display:inline-flex;box-shadow:0 2px 4px #0000001a}.badge-both:hover,.badge-left:hover,.badge-right:hover{transform:scale(1.05)}.badge-both{background:linear-gradient(135deg, var(--success-bg) 0%, #34d3994d 100%);color:var(--success);border:1px solid var(--success)}.badge-left{background:linear-gradient(135deg, var(--accent-bg) 0%, #6366f14d 100%);color:var(--accent);border:1px solid var(--accent)}.badge-right{background:linear-gradient(135deg, var(--error-bg) 0%, #f871714d 100%);color:var(--error);border:1px solid var(--error)}.result-info,.filter-info{flex-direction:column;gap:1rem;display:flex}.result-item{background:linear-gradient(135deg, var(--bg-alt) 0%, var(--bg) 100%);border:1px solid var(--border);color:var(--text);border-radius:.875rem;padding:1.25rem;font-size:.95rem;line-height:1.7;transition:all .3s;position:relative}.result-item:hover{border-color:var(--accent-border);transform:translate(4px)}.result-item strong{color:var(--accent);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1rem;display:flex}.result-item ul{margin:.75rem 0 0;padding-left:1.5rem}.result-item li{margin-bottom:.4rem;position:relative}.result-item li::marker{color:var(--accent)}.tips-list{flex-direction:column;gap:1rem;display:flex}.tip{background:linear-gradient(135deg, #10b9811a 0%, var(--bg) 100%);color:var(--text);border:1px solid #10b9814d;border-radius:.875rem;align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.7;display:flex;position:relative}.tip:before{content:"";flex-shrink:0;font-size:1.25rem}.info-footer{text-align:center;background:linear-gradient(135deg, var(--accent-bg) 0%, var(--bg) 100%);border:1px solid var(--accent-border);border-radius:1rem;margin-top:2rem;padding:1.5rem}.info-footer p{color:var(--text-muted);margin:0;font-size:.95rem}@media (width<=768px){.info-container{padding:1.5rem 1rem}.info-container>h2{font-size:1.75rem}.info-subtitle{margin-bottom:1.75rem;font-size:1rem}.info-section{margin-bottom:1.25rem;padding:1.5rem}.info-section h3{font-size:1.2rem}.feature-list,.files-grid{grid-template-columns:1fr}.step-list:before{left:1.25rem}.step{flex-direction:column;gap:1rem;padding:1.25rem}.step-number{width:2.5rem;min-width:2.5rem;height:2.5rem;font-size:1.1rem}}.uniqueid-generator-section{background:linear-gradient(135deg, var(--bg-alt) 0%, var(--bg) 100%);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;margin-top:2rem;padding:1.5rem}.uniqueid-generator-section h3{color:var(--accent);margin-bottom:.75rem;font-size:1.1rem}.uniqueid-generator-section p{color:var(--text-h);margin-bottom:1rem;font-size:.9rem}.uniqueid-columns-selector{margin-bottom:1rem}.columns-checklist{background:var(--bg);border:1px solid var(--border);border-radius:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;padding:1rem;display:grid}.checkbox-label{cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .2s;display:flex}.checkbox-label:hover{background-color:var(--bg-alt)}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.checkbox-label span{color:var(--text-h);-webkit-user-select:none;user-select:none;font-size:.9rem}.uniqueid-actions{gap:.75rem;margin-bottom:1.5rem;display:flex}.action-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:.625rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.action-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button.secondary{background:var(--bg-alt);color:var(--text-h);border:1px solid var(--border)}.action-button.secondary:hover:not(:disabled){background:var(--border)}.uniqueid-preview{background:var(--bg);border:1px solid var(--border);border-radius:.75rem;padding:1rem}.preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.preview-header strong{color:var(--accent)}.preview-table{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:.9rem}.preview-table thead tr{background:var(--bg-alt);border-bottom:2px solid var(--border)}.preview-table th{text-align:left;color:var(--accent);padding:.75rem;font-weight:600}.preview-table td{border-bottom:1px solid var(--border);color:var(--text-h);padding:.75rem}.preview-table tbody tr:hover{background-color:var(--bg-alt)}.preview-table .monospace{color:var(--accent);word-break:break-all;font-family:Courier New,monospace;font-weight:500}.preview-info{color:var(--text-secondary);margin-top:.75rem;font-size:.85rem}.preview-info code{background:var(--bg-alt);color:var(--accent);border-radius:.3rem;padding:.2rem .5rem;font-family:Courier New,monospace}.app-shell{isolation:isolate;position:relative}.app-shell:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 10%,#6366f11f,#0000 28%),radial-gradient(circle at 85% 12%,#10b9811a,#0000 26%),radial-gradient(circle at 70% 88%,#f59e0b14,#0000 30%);position:fixed;inset:0}header,main,.upload-label,.tabs,.metric,.summary-box,.chart-card,.filter-group,.filters-bar,.stat-card,.modal-card,.info-section,.file-card,.step,.table-wrapper,.table-section,.uniqueid-preview,.difference-section,.export-dropdown{-webkit-backdrop-filter:blur(18px)}header{background:linear-gradient(135deg, color-mix(in srgb, var(--bg-elevated) 90%, transparent), color-mix(in srgb, var(--bg) 90%, transparent));border-radius:1.5rem;padding:1.75rem 1.75rem 1.5rem}.hero-badge{border:1px solid var(--border);background:linear-gradient(135deg, var(--accent-bg), transparent);color:var(--text-h);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.55rem;margin-bottom:.9rem;padding:.45rem .95rem;font-size:.75rem;font-weight:700;display:inline-flex}.hero-badge .app-icon{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent) 40%, transparent))}header h1{align-items:center;gap:.75rem;font-size:clamp(1.75rem,3vw,2.75rem);display:flex}header h1 .app-icon{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 35%, transparent))}header p{max-width:62ch;margin-top:.75rem;font-size:.98rem}.app-icon{flex-shrink:0;transition:transform .15s,color .15s,filter .15s}.inline-icon,.input-icon .app-icon,.hero-badge .app-icon,.tab-button .app-icon,.page-btn .app-icon,.action-button .app-icon,.small-button .app-icon,.metric .app-icon,.side-header .app-icon,.section-heading .app-icon{margin-right:.5rem}.section-heading .app-icon:hover,.action-button:hover .app-icon,.small-button:hover .app-icon{filter:drop-shadow(0 0 4px);transform:scale(1.15)}.metric .app-icon{color:var(--accent);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 25%, transparent))}.tab-button .app-icon{transition:transform .2s,filter .2s}.tab-button.active .app-icon{filter:drop-shadow(0 0 4px #ffffff4d)}.tab-button:hover .app-icon{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent) 40%, transparent));transform:scale(1.12)}.side-header .app-icon{color:var(--accent);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 25%, transparent))}.error-box .app-icon{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--error,#ef4444) 30%, transparent))}.modal-close .app-icon{transition:transform .15s}.modal-close:hover .app-icon{filter:drop-shadow(0 0 4px);transform:rotate(90deg)scale(1.1)}.section-heading{border-bottom:1px solid var(--border);color:var(--text-h);align-items:center;gap:.65rem;margin-bottom:1rem;padding-bottom:.8rem;font-size:1rem;font-weight:700;display:flex}.section-heading .app-icon{color:var(--accent);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 30%, transparent))}.tabs{background:linear-gradient(135deg, color-mix(in srgb, var(--bg-elevated) 94%, transparent), color-mix(in srgb, var(--bg) 92%, transparent));border-radius:1rem;gap:.65rem;padding:.5rem}.tabs button{background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;display:inline-flex}.tabs button.active{box-shadow:var(--shadow-md)}main{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 92%, transparent), color-mix(in srgb, var(--bg) 88%, transparent));border-radius:1.5rem}.upload-label,.filters-bar,.filter-group,.summary-box,.metric,.stat-card,.chart-card,.table-section,.table-wrapper,.info-section,.file-card,.step,.modal-card,.uniqueid-preview,.difference-section{border-radius:1rem}.upload-label,.filters-bar,.table-note{background:color-mix(in srgb, var(--bg-elevated) 78%, transparent)}.metric,.summary-box,.chart-card,.stat-card,.file-card,.step,.info-section,.modal-section,.filter-group,.uniqueid-preview,.difference-section,.table-section{box-shadow:var(--shadow-sm)}.metric:hover,.summary-box:hover,.chart-card:hover,.stat-card:hover,.file-card:hover,.step:hover{box-shadow:var(--shadow-lg)}.action-button,.small-button,.tab-button,.page-btn,.page-num{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.action-button{box-shadow:var(--shadow);border-radius:.9rem}.action-button.secondary{background:linear-gradient(135deg, var(--bg-elevated), var(--bg-alt))}.small-button,.page-btn,.page-num,.tab-button{border-radius:999px}.page-btn,.page-num{min-width:40px}.filters-bar,.filter-group{padding:1rem}.filter-group label,.row label,.typ-checkbox-title{font-weight:600}.status-dot{border-radius:999px;width:.7rem;height:.7rem;margin-right:.5rem;display:inline-block;box-shadow:0 0 0 4px #ffffff0a}.status-both{background:var(--success)}.status-left{background:var(--accent)}.status-right{background:var(--error)}.file-list li:before,.tip:before{content:"";flex-shrink:0;display:inline-block}.file-list li:before{background:linear-gradient(135deg, var(--accent), var(--success));border-radius:.2rem;width:.7rem;height:.7rem;margin-right:.5rem}.tip:before{background:radial-gradient(circle at 35% 35%, #fff 0 16%, var(--warning) 18% 100%);border-radius:999px;width:1rem;height:1rem;margin-top:.15rem}.file-icon,.empty-icon,.side-header .app-icon,.modal-title-section .app-icon,.info-container h2 .app-icon,.hero-badge .app-icon{justify-content:center;align-items:center;display:inline-flex}.modal-header,.table-note,.preview-header{background:color-mix(in srgb, var(--bg-elevated) 92%, transparent)}.modal-card{border-color:color-mix(in srgb, var(--border) 85%, var(--accent) 15%);box-shadow:var(--shadow-xl)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617ad}.info-section{border-left:4px solid #0000;position:relative;overflow:hidden}.info-section:before{background:linear-gradient(180deg, var(--accent), var(--success));width:4px}.file-card{text-align:left}.file-icon{background:linear-gradient(135deg, var(--accent-bg), color-mix(in srgb, var(--bg-elevated) 75%, transparent));width:4.5rem;height:4.5rem;box-shadow:inset 0 1px 0 #ffffff14, 0 4px 12px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:1rem;margin:0 auto 1rem}.file-icon .app-icon{color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 30%, transparent))}.step-number{background:linear-gradient(135deg, var(--accent), var(--accent-hover))}.table-wrapper table{border-radius:1rem}.empty-state{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 75%, transparent), color-mix(in srgb, var(--bg) 94%, transparent))}.empty-state .app-icon{color:var(--accent);filter:drop-shadow(0 12px 24px #6366f133)}.info-container h2{justify-content:center;align-items:center;gap:.75rem;display:flex}.info-container h2 .app-icon{color:var(--accent)}button,select,input,.checkbox-label,.typ-checkbox-item{transition:all .2s cubic-bezier(.4,0,.2,1)}button:focus-visible,select:focus-visible,input:focus-visible,.checkbox-label:focus-within,.typ-checkbox-item:focus-within{outline:none;box-shadow:0 0 0 3px #2563eb26}.action-button,.small-button,.tab-button,.page-btn,.export-option,.typ-checkbox-item{position:relative;overflow:hidden}.action-button:after,.small-button:after,.tab-button:after,.page-btn:after,.export-option:after{content:"";background:radial-gradient(circle at var(--x,50%) var(--y,50%), #ffffff40 0%, transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.action-button:active:after,.small-button:active:after,.tab-button:active:after,.page-btn:active:after{opacity:1}.skeleton{background:linear-gradient(90deg, var(--bg-alt) 0%, var(--bg-elevated) 50%, var(--bg-alt) 100%);background-size:200% 100%;border-radius:4px;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.table-wrapper table tbody tr{transition:background-color .15s,transform .1s}.table-wrapper table tbody tr:active{transform:scale(.998)}.sort-indicator{transition:transform .2s,opacity .2s}.sort-indicator.active{animation:.3s sort-bounce}@keyframes sort-bounce{0%,to{transform:translateY(-1px)}50%{transform:translateY(-3px)}}.toast-container{z-index:10000;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow-lg);align-items:center;gap:.875rem;min-width:300px;max-width:400px;padding:1rem 1.25rem;animation:.3s toast-slide-in,.3s 4.7s forwards toast-fade-out;display:flex}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--error)}.toast.warning{border-left-color:var(--warning)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-fade-out{to{opacity:0;transform:translate(100%)}}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);background:var(--text-h);color:var(--bg-elevated);white-space:nowrap;opacity:0;visibility:hidden;z-index:1000;pointer-events:none;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:all .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.95)}[data-tooltip]:after{content:"";border:6px solid #0000;border-top-color:var(--text-h);opacity:0;visibility:hidden;z-index:1000;pointer-events:none;transition:all .2s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)scale(.95)}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}[data-tooltip][data-position=bottom]:before{top:calc(100% + 8px);bottom:auto}[data-tooltip][data-position=bottom]:after{border-top-color:#0000;border-bottom-color:var(--text-h);top:calc(100% + 4px);bottom:auto}.fab{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg), 0 0 20px #2563eb4d;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:2rem;right:2rem}.fab:hover{box-shadow:var(--shadow-xl), 0 0 30px #2563eb66;transform:translateY(-2px)scale(1.05)}.fab:active{transform:scale(.95)}.badge-pulse{animation:2s infinite badge-pulse}@keyframes badge-pulse{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 6px #2563eb00}}.chart-card,.stat-card,.info-section,.file-card{transition:transform .3s,box-shadow .3s}.chart-card:hover,.stat-card:hover,.info-section:hover,.file-card:hover{box-shadow:var(--shadow-lg), 0 20px 40px -12px #0f172a26;transform:translateY(-4px)}.stagger-list>*{opacity:0;animation:.4s forwards stagger-fade-in}.stagger-list>:first-child{animation-delay:0s}.stagger-list>:nth-child(2){animation-delay:50ms}.stagger-list>:nth-child(3){animation-delay:.1s}.stagger-list>:nth-child(4){animation-delay:.15s}.stagger-list>:nth-child(5){animation-delay:.2s}.stagger-list>:nth-child(6){animation-delay:.25s}.stagger-list>:nth-child(7){animation-delay:.3s}.stagger-list>:nth-child(8){animation-delay:.35s}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-bar{background:var(--bg-alt);border-radius:3px;height:6px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--success) 100%);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:2s infinite progress-shimmer;position:absolute;inset:0}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}input[type=checkbox]{appearance:none;border:2px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:4px;width:1.125rem;height:1.125rem;transition:all .2s;position:relative}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}input[type=checkbox]:hover:not(:checked){border-color:var(--accent-border)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}select:hover,input[type=text]:hover{border-color:var(--accent-border)}.modal-overlay{animation:.3s modal-fade-in}.modal-card{animation:.3s modal-slide-up}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.typ-checkbox-list{transition:all .3s}.typ-checkbox-item{transition:all .2s}.typ-checkbox-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.export-dropdown{transform-origin:100% 0;animation:.2s dropdown-scale}@keyframes dropdown-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.empty-state{transition:all .3s}.empty-state:hover{transform:translateY(-2px)}header h1 .app-icon{animation:3s ease-in-out infinite icon-float}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.info-section:before{animation:3s ease-in-out infinite accent-line-pulse}@keyframes accent-line-pulse{0%,to{opacity:1}50%{opacity:.7}}.card-3d{transform-style:preserve-3d;transition:transform .3s}.card-3d:hover{transform:perspective(1000px)rotateX(2deg)rotateY(-2deg)translateZ(10px)}.neon-glow{text-shadow:0 0 5px currentColor, 0 0 10px currentColor, 0 0 20px currentColor, 0 0 40px var(--accent)}.neon-border{box-shadow:0 0 5px var(--accent), 0 0 10px var(--accent), inset 0 0 5px var(--accent)}.scanlines{position:relative;overflow:hidden}.scanlines:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:absolute;inset:0}.breathing{animation:4s ease-in-out infinite breathing}@keyframes breathing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.wave-loader{justify-content:center;align-items:center;gap:4px;display:flex}.wave-loader span{background:var(--accent);border-radius:2px;width:4px;height:20px;animation:1.2s ease-in-out infinite wave}.wave-loader span:first-child{animation-delay:0s}.wave-loader span:nth-child(2){animation-delay:.1s}.wave-loader span:nth-child(3){animation-delay:.2s}.wave-loader span:nth-child(4){animation-delay:.3s}.wave-loader span:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{opacity:.5;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.5)}}.gradient-text-animate{background:linear-gradient(90deg, var(--accent), var(--success), var(--warning), var(--accent));-webkit-text-fill-color:transparent;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:3s infinite gradient-shift}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.holographic{position:relative;overflow:hidden}.holographic:before{content:"";pointer-events:none;background:conic-gradient(#0000 0deg,#ffffff1a 60deg,#0000 120deg);animation:4s linear infinite holographic-rotate;position:absolute;inset:-50%}@keyframes holographic-rotate{to{transform:rotate(360deg)}}.bounce{animation:1s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.elastic-scale{transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.elastic-scale:hover{transform:scale(1.1)}.spotlight{position:relative;overflow:hidden}.spotlight:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);border-radius:50%;width:100px;height:100px;transition:opacity .3s;position:absolute;transform:translate(-50%,-50%)}.spotlight:hover:before{opacity:1}.glitch{animation:1s linear infinite alternate-reverse glitch-skew;position:relative}.glitch:before,.glitch:after{content:attr(data-text);width:100%;height:100%;position:absolute;top:0;left:0}.glitch:before{color:var(--error);z-index:-1;animation:2s linear infinite alternate-reverse glitch-anim}.glitch:after{color:var(--accent);z-index:-2;animation:3s linear infinite alternate-reverse glitch-anim2}@keyframes glitch-anim{0%{clip-path:inset(20% 0 80%);transform:translate(-2px,-2px)}20%{clip-path:inset(60% 0 10%);transform:translate(2px,2px)}40%{clip-path:inset(40% 0 50%);transform:translate(-2px,2px)}60%{clip-path:inset(80% 0 5%);transform:translate(2px,-2px)}80%{clip-path:inset(10% 0 70%);transform:translate(-2px,2px)}to{clip-path:inset(30% 0 50%);transform:translate(2px,-2px)}}@keyframes glitch-anim2{0%{clip-path:inset(15% 0 85%);transform:translate(2px,2px)}20%{clip-path:inset(65% 0 5%);transform:translate(-2px,-2px)}40%{clip-path:inset(45% 0);transform:translate(2px,-2px)}60%{clip-path:inset(85% 0 10%);transform:translate(-2px,2px)}80%{clip-path:inset(5% 0 75%);transform:translate(2px,-2px)}to{clip-path:inset(35% 0 40%);transform:translate(-2px,2px)}}.reveal{opacity:0;transition:all .6s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transform:translateY(20px)}.stagger-children.visible>:first-child{animation:.5s .1s forwards stagger-child}.stagger-children.visible>:nth-child(2){animation:.5s .2s forwards stagger-child}.stagger-children.visible>:nth-child(3){animation:.5s .3s forwards stagger-child}.stagger-children.visible>:nth-child(4){animation:.5s .4s forwards stagger-child}.stagger-children.visible>:nth-child(5){animation:.5s .5s forwards stagger-child}@keyframes stagger-child{to{opacity:1;transform:translateY(0)}}.loading-dots{gap:4px;display:inline-flex}.loading-dots span{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite loading-dot}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loading-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.login-page{background:var(--bg-primary,#0f1117);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--bg-card,#1a1d27);border:1px solid var(--border-color,#2a2d3a);border-radius:12px;width:100%;max-width:400px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--text-primary,#e4e6ef);margin:.75rem 0 .35rem;font-size:1.4rem}.login-header p{color:var(--text-secondary,#8b8fa3);margin:0;font-size:.9rem}.login-field{margin-bottom:1.25rem}.login-field label{color:var(--text-secondary,#8b8fa3);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.login-field input{border:1px solid var(--border-color,#2a2d3a);background:var(--bg-input,#13151d);width:100%;color:var(--text-primary,#e4e6ef);box-sizing:border-box;border-radius:8px;outline:none;padding:.65rem .85rem;font-size:.95rem;transition:border-color .2s}.login-field input:focus{border-color:var(--accent,#4f8cff)}.login-error{color:#f87171;text-align:center;margin:0 0 1rem;font-size:.85rem}.login-btn{background:var(--accent,#4f8cff);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.7rem;font-size:.95rem;font-weight:600;transition:background .2s}.login-btn:hover{background:var(--accent-hover,#3a7bef)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.auth-loading{background:var(--bg-primary,#0f1117);justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:3px solid var(--border-color,#2a2d3a);border-top-color:var(--accent,#4f8cff);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
