:root{--bg: #f3f7fc;--bg-soft: #eaf1fa;--surface: #ffffff;--text-1: #122034;--text-2: #5a6b80;--line: #dbe5f2;--brand: #1478ff;--brand-soft: #e8f1ff;--shadow: 0 14px 30px rgba(25, 70, 138, .1)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{margin:0;color:var(--text-1);background:radial-gradient(circle at 10% 10%,#dfeeff 0%,transparent 40%),radial-gradient(circle at 90% 0%,#e7f7ff 0%,transparent 36%),linear-gradient(180deg,#f7fbff 0%,var(--bg) 100%);font-family:SF Pro Display,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{min-height:100vh;background:transparent}.app-sider.ant-layout-sider{position:fixed;left:0;top:64px;bottom:0;height:calc(100vh - 64px);padding:12px 8px 10px;border-right:1px solid rgba(152,176,214,.22);background:linear-gradient(180deg,rgba(249,252,255,.98) 0%,rgba(241,247,255,.98) 100%)!important;box-shadow:inset -1px 0 #dbe5f2bf;display:flex!important;flex-direction:column!important}.app-sider.ant-layout-sider .ant-layout-sider-children{display:flex;flex-direction:column;overflow:hidden;height:100%}.sider-menu-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:2px;min-height:0}.sider-menu-scroll::-webkit-scrollbar{width:4px}.sider-menu-scroll::-webkit-scrollbar-track{background:transparent}.sider-menu-scroll::-webkit-scrollbar-thumb{background:rgba(147,184,255,.25);border-radius:2px}.sider-menu-scroll::-webkit-scrollbar-thumb:hover{background:rgba(147,184,255,.45)}.secondary-sider .ant-menu{background:transparent;color:var(--text-1);border-inline-end:none!important}.secondary-sider .ant-menu-item,.secondary-sider .ant-menu-submenu-title{height:44px;line-height:44px;margin:4px 0;border-radius:12px;color:#29415f;font-weight:600}.secondary-sider .ant-menu-submenu-title{background:rgba(233,242,255,.55)}.secondary-sider .ant-menu-submenu-arrow:before,.secondary-sider .ant-menu-submenu-arrow:after{background:#5c7699!important}.secondary-sider .ant-menu-sub.ant-menu-inline{margin-top:6px;margin-bottom:10px;padding:6px 8px 8px;border:none;border-radius:0;background:transparent;box-shadow:none}.secondary-sider .ant-menu-sub.ant-menu-inline .ant-menu-item{margin:4px 0;padding-left:18px!important;color:#3d5778;font-weight:500}.secondary-sider .ant-menu-item:hover,.secondary-sider .ant-menu-submenu-title:hover{color:var(--brand);background:rgba(218,234,255,.9)}.secondary-sider .ant-menu-item-selected{color:#fff!important;background:linear-gradient(135deg,#1677ff 0%,#4f9bff 100%)!important;box-shadow:0 10px 20px #1478ff38}.secondary-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#13407f;background:rgba(208,227,255,.95)}.secondary-sider .ant-menu-inline-collapsed{width:auto}.secondary-sider.ant-layout-sider-collapsed{padding-inline:6px}.secondary-sider.ant-layout-sider-collapsed .ant-menu-item,.secondary-sider.ant-layout-sider-collapsed .ant-menu-submenu-title{margin-inline:auto}.secondary-sider.ant-layout-sider-collapsed .ant-menu-item .anticon,.secondary-sider.ant-layout-sider-collapsed .ant-menu-submenu-title .anticon,.secondary-sider.ant-layout-sider-collapsed .ant-menu-item .ant-menu-item-icon,.secondary-sider.ant-layout-sider-collapsed .ant-menu-submenu-title .ant-menu-item-icon{margin-inline-end:0;font-size:16px;color:inherit}.sider-collapse-bar{margin-top:10px;padding-top:10px;border-top:1px solid rgba(216,228,243,.9)}.sider-collapse-btn.ant-btn{width:100%;height:40px;border-radius:12px;color:#496482;background:rgba(255,255,255,.72)}.sider-collapse-btn.ant-btn:hover{color:var(--brand);background:rgba(226,239,255,.95)!important}.app-main{margin-left:248px;transition:margin-left .2s ease}.app-main.collapsed{margin-left:60px}.app-header.ant-layout-header{height:64px;line-height:64px;padding:0 18px;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.top-nav-layout>.ant-layout{min-height:calc(100vh - 64px)}.top-nav-header{position:sticky;top:0;z-index:100}.top-nav-left{min-width:0;display:flex;align-items:center;gap:24px}.header-user-area{flex-shrink:0}.header-user-card{padding:2px 7px 2px 2px;border-radius:999px;background:transparent;border:none}.header-user-avatar{width:24px!important;height:24px!important;min-width:24px;font-size:12px;background:linear-gradient(135deg,#1677ff 0%,#6aa8ff 100%)}.header-user-meta{display:flex;flex-direction:column;line-height:1.2;gap:1px}.header-user-name{color:#163b68;font-weight:700;font-size:12px}.header-user-role{color:#6b7f98;font-size:10px}.top-nav-menu{min-width:0;flex:1;background:transparent;border-bottom:none!important}.top-nav-menu.ant-menu-horizontal>.ant-menu-item,.top-nav-menu.ant-menu-horizontal>.ant-menu-submenu{top:0;height:64px;line-height:64px;font-weight:600}.secondary-sider.ant-layout-sider{z-index:90}.app-title{font-size:18px;font-weight:650;color:#0f2b4e}.app-content.ant-layout-content{margin:16px;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}.content-card{min-height:calc(100vh - 96px);padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);overflow:visible}@media (max-width: 1100px){.top-nav-left{gap:14px}.app-title{font-size:16px}.top-nav-menu.ant-menu-horizontal>.ant-menu-item,.top-nav-menu.ant-menu-horizontal>.ant-menu-submenu{padding-inline:12px}}.ocr-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:calc(100vh - 190px)}.ocr-page .left-pane,.ocr-page .right-pane{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.ocr-page .left-pane{display:flex;flex-direction:column}.ocr-page .right-pane{overflow:auto}.stamp-page .header-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.stamp-page .stamp-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;align-items:flex-start}.stamp-page .stamp-main-pane,.stamp-page .stamp-side-pane{min-width:0}.stamp-page .stamp-preview-card{overflow:auto}.dataset-page .ant-table-wrapper,.training-page .ant-table-wrapper{max-width:100%}.training-log-box pre{margin:0;white-space:pre-wrap;word-break:break-word}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;overflow:hidden}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 31px,rgba(20,120,255,.08) 32px),linear-gradient(90deg,transparent 31px,rgba(20,120,255,.08) 32px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,#000 30%,transparent 90%);mask-image:radial-gradient(circle at center,#000 30%,transparent 90%)}.login-card.ant-card{width:min(430px,92vw);border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;z-index:1}.login-subtitle{color:var(--brand);letter-spacing:1.6px;font-size:12px;font-weight:700}.ant-card,.ant-table-wrapper,.ant-form,.ant-list,.ant-collapse{border-radius:12px}.ant-card{border:1px solid var(--line);box-shadow:0 8px 20px #204b8b14}.ant-table-wrapper .ant-table{border-radius:10px}.ant-table-wrapper{max-width:100%}.ant-table-content{overflow-x:auto!important;overflow-y:hidden!important}.ant-table-body{overflow-x:auto!important}.ant-table-wrapper .ant-table-thead>tr>th{background:#f7fbff;color:#1f3b60;font-weight:650}.structured-result .result-table .ant-table-cell{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.structured-result .result-table .ant-tag{white-space:nowrap}.structured-result .result-table .value-cell{display:inline-block;min-width:max-content}.structured-result .result-table .source-cell{display:inline-block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.extraction-workspace{display:grid;grid-template-columns:280px minmax(0,1fr) minmax(440px,.9fr);gap:16px;height:100%;min-height:0}.extraction-sidebar,.extraction-main,.extraction-result{min-width:0}.extraction-main{display:flex;flex-direction:column;gap:8px}.extraction-sidebar{padding-right:16px;border-right:1px dashed #d8e4f3;display:flex;flex-direction:column}.workspace-section{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #edf3fb}.workspace-section-fill{margin-top:auto;border-bottom:none;padding-top:16px;padding-bottom:0;margin-bottom:0;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.98) 20%)}.workspace-file-meta{margin-top:12px;display:flex;flex-direction:column;gap:6px}.smart-extraction-sidebar{gap:0}.smart-upload-section{padding-bottom:14px;margin-bottom:14px}.smart-extraction-desc{display:block;font-size:12px;line-height:1.55}.smart-upload-actions{display:grid;gap:10px;margin-top:14px}.smart-batch-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.compact-section{padding-bottom:12px;margin-bottom:12px}.file-list-section{flex:1;min-height:0;max-height:calc(100vh - 340px);margin-bottom:0;padding-bottom:0;border-bottom:none;display:flex;flex-direction:column}.workspace-file-list-empty{flex:1;min-height:160px;display:flex;align-items:center;justify-content:center;border:1px dashed #d7e3f2;border-radius:12px;margin-top:10px;background:#f8fbff}.workspace-file-list{flex:1;min-height:0;max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-right:2px}.workspace-file-item{width:100%;border:1px solid #e1ebf7;border-radius:12px;padding:10px;background:#fbfdff;color:inherit;cursor:pointer;display:grid;grid-template-columns:24px 22px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.workspace-file-item:hover{border-color:#9fc7ff;background:#f3f8ff}.workspace-file-item.active{border-color:#1677ff;background:linear-gradient(180deg,#f6fbff 0%,#eaf3ff 100%);box-shadow:0 8px 18px #1677ff1f}.workspace-file-index{width:22px;height:22px;border-radius:999px;background:#e8f1ff;color:#1555a8;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.workspace-file-icon{color:#2766b3;font-size:16px}.workspace-file-info{min-width:0;display:flex;flex-direction:column;gap:3px}.workspace-file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:650;color:#173554}.workspace-file-sub{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#6b7f98;font-size:12px}.workspace-file-actions{display:inline-flex;align-items:center;gap:4px}.smart-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;overflow:visible;white-space:nowrap}.smart-controls-above-preview{flex:0 0 auto;padding:10px 14px;border:1px solid #dbe7f7;border-radius:14px;background:#ffffff;box-shadow:0 8px 20px #204b8b14}.smart-control-inline{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}.smart-control-group{min-width:300px}.smart-control-mode{min-width:260px;justify-content:flex-end;transform:translate(-30px)}.smart-control-select{width:210px}.workspace-card.ant-card{height:100%;border-radius:14px}.extraction-main>.workspace-card.ant-card{flex:1 1 auto;min-height:0;height:auto}.workspace-card .ant-card-head{min-height:56px}.workspace-card .ant-card-head-title{font-size:15px;font-weight:700}.workspace-preview-pane,.workspace-result-pane{height:calc(100vh - 286px);min-height:0;border:1px dashed #d7e3f2;border-radius:12px;background:linear-gradient(180deg,rgba(250,252,255,.96) 0%,rgba(245,249,255,.96) 100%)}.workspace-preview-pane{overflow:hidden;clear:both}.workspace-result-pane{padding:12px;overflow:auto}.workspace-empty,.workspace-loading{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.workspace-json{margin:0;height:100%;min-height:0;max-height:none;overflow:auto;padding:16px;border-radius:10px;background:#f7fbff;color:#183150;font-size:12px;line-height:1.6}.workspace-pdf-frame{width:100%;height:100%;border:none;border-radius:12px;background:#fff}.workspace-summary-card.ant-card{margin-bottom:12px;border-color:#d8e8ff;background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%)}.structured-result-compact{display:flex;flex-direction:column;gap:12px;font-size:12px}.structured-result-compact .result-table .ant-table-thead>tr>th,.structured-result-compact .result-table .ant-table-tbody>tr>td{font-size:12px;padding:6px 8px}.structured-result-compact .result-table .ant-tag{font-size:11px;line-height:16px;padding:0 6px;margin-inline-end:0}.structured-result-compact .result-table .value-cell,.structured-result-compact .result-list-collapse .ant-collapse-header{font-size:12px}.result-timing-strip{display:flex;gap:8px;flex-wrap:wrap}.timing-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#f4f8ff;border:1px solid #dbe7f7;color:#35506f;font-size:12px}.timing-pill b{color:#153555;font-weight:700}.result-list-collapse.ant-collapse{background:transparent}.result-list-collapse.ant-collapse>.ant-collapse-item{border:1px solid #e6eef8;border-radius:12px!important;background:#fbfdff;overflow:hidden}.result-list-collapse.ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:10px 14px!important}@media (max-width: 1500px){.extraction-workspace{grid-template-columns:260px minmax(0,1fr) minmax(380px,.88fr)}}@media (max-width: 1280px){.extraction-workspace{grid-template-columns:1fr}.extraction-sidebar{padding-right:0;border-right:none;border-bottom:1px dashed #d8e4f3;padding-bottom:12px}.workspace-preview-pane,.workspace-result-pane,.workspace-empty,.workspace-loading,.workspace-json,.workspace-pdf-frame{height:480px;min-height:0;max-height:none}.file-list-section{max-height:360px}.smart-controls-bar{gap:12px;overflow-x:auto;justify-content:flex-start}.smart-control-group{min-width:280px}.smart-control-select{width:180px}}.ant-btn-primary{box-shadow:0 8px 18px #1478ff47}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number{border-radius:8px!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c5d4e8;border-radius:6px}@media (max-width: 768px){.app-main,.app-main.collapsed{margin-left:0}.app-sider.ant-layout-sider{position:fixed;z-index:1001}.app-title{font-size:15px}.content-card{min-height:auto;padding:12px}.ocr-page{grid-template-columns:minmax(0,1fr);min-height:auto}.stamp-page .header-actions{flex-direction:column!important;align-items:stretch!important}.stamp-page .stamp-workspace{grid-template-columns:minmax(0,1fr)}}
