@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");:root{--color-primary:#003a70;--color-primary-hover:#00325f;--color-primary-active:#002a4f;--color-primary-bg:#e8eef4;--color-primary-border:#a3bdd3;--color-accent:#ed1c24;--color-accent-hover:#d41920;--color-accent-bg:#fef2f2;--color-link:#003a70;--color-link-hover:#00325f;--color-navy:#003a70;--color-bg-layout:#f8fafb;--color-bg-container:#ffffff;--color-border:#e5e9ed;--color-text:#003a70;--color-text-secondary:#4d5c67;--color-text-tertiary:#6b7a86;--color-surface-subtle:#f1f4f6;--color-surface-muted:#e5e9ed;--sider-width:200px;--header-height:48px;--spacing:16px;--radius-control:8px;--radius-component:12px;--radius-container:14px;--shadow-primary:0 4px 12px rgba(0,58,112,0.18);--brand-gradient:linear-gradient(135deg,#003a70,#477ba7);--accent-gradient:linear-gradient(135deg,#ed1c24,#f87171)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;color:var(--color-text);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-shell,body,html{overflow:hidden;background:var(--color-bg-layout)}.app-shell{height:100vh;max-height:100vh}.app-shell-sider{border-right:1px solid var(--color-border)!important;height:100vh!important;max-height:100vh!important;overflow:hidden!important;position:relative!important;inset-inline-start:auto!important}.app-shell-sider .ant-layout-sider-children{height:100%;overflow:hidden}.app-shell-main{flex:1 1 auto;min-width:0;height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-layout)}.app-shell-header{height:var(--header-height)!important;line-height:var(--header-height)!important;padding:0 var(--spacing)!important;background:var(--color-bg-container)!important;border-bottom:1px solid var(--color-border);display:flex!important;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10}.app-header-extra{display:flex;align-items:center;gap:12px}.app-shell-content{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--spacing);overscroll-behavior:contain}.app-shell-content:has(.new-report-page){padding-bottom:0;overflow:hidden;display:flex;flex-direction:column}.new-report-page{height:100%;overflow:hidden}.new-report-page,.new-report-scroll-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.new-report-scroll-wrap{position:relative;margin-bottom:7px}.new-report-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding-bottom:7px;overscroll-behavior:contain}.new-report-main{min-height:0}.new-report-scroll-fade{position:absolute;left:0;right:0;bottom:0;height:7px;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(248,250,251,0) 0,var(--color-bg-layout) 100%)}.new-report-page .new-report-footer{position:relative;flex-shrink:0;z-index:9;margin:0;justify-content:center;border-radius:14px 14px 0 0;border:1px solid var(--color-border);border-bottom:none;padding:16px;background:var(--color-bg-container);box-shadow:none}a{color:inherit;text-decoration:none}.app-sider-inner{height:100%;display:flex;flex-direction:column}.app-sider-menu{flex:1 1;overflow:auto;padding-top:8px}.app-brand{height:var(--header-height);display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.app-sider-inner.is-collapsed .app-brand{justify-content:center;padding:0 8px}.app-sider-inner.is-collapsed .app-brand-link{justify-content:center}.app-sider-inner.is-collapsed .app-sider-footer{justify-content:center;padding-left:8px;padding-right:8px}.app-header-left,.app-header-title{display:flex;align-items:center;gap:12px;min-width:0}.app-header-left{flex:1 1}.app-header-titles{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0}.app-breadcrumb{line-height:1.4;font-size:14px}.app-breadcrumb ol{flex-wrap:nowrap}.app-breadcrumb .ant-breadcrumb-link,.app-breadcrumb a{color:var(--color-text-tertiary)}.app-breadcrumb li:last-child .ant-breadcrumb-link{color:var(--color-text);font-weight:600}.app-header-title-extra{display:inline-flex;align-items:center;line-height:1}.app-sider-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.app-sider-toggle:hover{background:var(--color-primary-bg);color:var(--color-primary)}.workspace-footer{margin-top:16px;padding:12px 16px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:14px;display:flex;align-items:center;justify-content:flex-start}.report-workspace{display:flex;flex-direction:column;min-height:100%}.report-workspace-main,.report-workspace-main>.workspace-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.report-workspace-main>.workspace-panel{width:100%;height:auto;align-items:center;justify-content:center;text-align:center;gap:8px}.report-workspace-main>.workspace-panel .ant-space,.report-workspace-main>.workspace-panel .ant-typography{max-width:560px}.report-workspace-main>.workspace-panel .ant-typography{text-align:center}.report-workspace .workspace-steps{position:-webkit-sticky;position:sticky;top:0;z-index:9;margin-bottom:16px;box-shadow:0 1px 0 rgba(15,23,42,.04)}.report-workspace .workspace-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:9;margin-top:16px;box-shadow:0 -1px 0 rgba(15,23,42,.04);justify-content:center}.app-brand-link{gap:10px;cursor:pointer}.app-brand-link,.app-brand-mark{display:inline-flex;align-items:center}.app-brand-mark{width:28px;height:28px;border-radius:8px;background:var(--brand-gradient);box-shadow:inset 0 -2px 0 var(--color-accent);color:#fff;font-size:12px;font-weight:700;justify-content:center}.app-brand-text{font-weight:700;font-size:15px;letter-spacing:-.02em}.app-sider-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 16px 16px;border-top:1px solid var(--color-border)}.app-sider-user{display:flex;flex-direction:column;min-width:0;line-height:1.2}.page-card{border:1px solid var(--color-border);box-shadow:0 4px 16px rgba(15,23,42,.04)}.admin-card-with-action .ant-card-head-wrapper{flex-wrap:nowrap;gap:12px}.admin-card-with-action .ant-card-head-title{flex:1 1 auto;padding:0;overflow:hidden;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-card-with-action .ant-card-extra{flex:0 0 auto;-webkit-margin-start:0;margin-inline-start:0;white-space:nowrap}.admin-card-with-action .ant-card-extra .ant-btn{white-space:nowrap}.report-list-card{height:100%;min-height:calc(100vh - var(--header-height) - 32px);display:flex;flex-direction:column}.report-list-card .ant-card-body{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column}.report-list-card .page-toolbar{flex-shrink:0}.report-list-table-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.report-list-table-wrap .ant-spin-container,.report-list-table-wrap .ant-spin-nested-loading,.report-list-table-wrap .ant-table-wrapper{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;height:100%}.report-list-table-wrap .ant-table{flex:1 1 auto;min-height:0}.report-list-table-wrap .ant-table-container{height:100%}.report-list-table-wrap .ant-pagination{flex-shrink:0;margin-block:16px 0;align-self:flex-end}.report-list-table .report-list-nowrap-cell{white-space:nowrap}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.workspace-steps{margin-bottom:16px;padding:16px 20px}.workspace-panel,.workspace-steps{background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:14px}.workspace-panel{padding:16px;min-height:420px}.field-editor{padding:12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-subtle)}.field-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.field-source-logic{margin-top:10px;padding:8px 10px;border-radius:8px;background:rgba(0,58,112,.04);border:1px dashed var(--color-border)}.field-source-logic-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.field-source-logic-label{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;margin-bottom:0}.logic-feedback-trigger{font-size:12px;white-space:nowrap}.logic-feedback-popover{width:min(360px,78vw)}.logic-feedback-textarea{position:relative}.logic-feedback-textarea .ant-input-textarea-show-count{position:relative;display:block}.logic-feedback-textarea .ant-input-textarea-show-count textarea.ant-input,.logic-feedback-textarea .ant-input-textarea-show-count>.ant-input{padding-bottom:28px}.logic-feedback-textarea .ant-input-data-count,.logic-feedback-textarea .ant-input-textarea-show-count:after{position:absolute;right:12px;bottom:8px;margin:0;line-height:1;font-size:12px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.logic-feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.field-source-logic-text{margin:0!important;font-size:12px!important;line-height:1.55!important}.field-readonly{padding:8px 11px;border-radius:8px;background:var(--color-surface-muted);color:var(--color-text-secondary);white-space:pre-wrap;min-height:36px}.preview-frame{width:100%;height:460px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-container)}.chapter-editor-row .chapter-editor-preview-panel{padding:12px}.report-preview-shell{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:12px;height:100%}.report-preview-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0}.report-preview-hint{font-size:12px;line-height:1.4}.report-preview-body{flex:1 1;min-height:280px;display:flex;flex-direction:column;overflow:hidden;background:#dbe4f0;border:1px solid var(--color-border);border-radius:12px;padding:8px}.report-preview-body--demo{overflow:auto;min-height:0;flex:1 1}.report-pdf-frame{flex:1 1;width:100%;min-height:1080px;height:auto;border:none;border-radius:8px;background:#fff;display:block}.report-preview-placeholder{text-align:center;padding:24px 16px;color:#64748b;font-style:italic;border:1px solid #cbd5e1;line-height:1.6;font-size:14px}.report-preview-empty,.report-preview-placeholder{flex:1 1;min-height:240px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px}.report-document-preview{flex:1 1;min-height:0;overflow:auto}.report-document-preview-paper{background:#fff;border-radius:8px;padding:20px 24px;min-height:100%;box-shadow:0 1px 3px rgba(15,23,42,.08);font-size:13px;line-height:1.55;color:var(--color-text)}.report-doc-cover{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.report-doc-section{margin-bottom:20px;padding-bottom:12px;border-bottom:1px dashed var(--color-border)}.report-doc-section.is-active{background:var(--color-primary-bg);margin-inline:-12px;padding:12px;border-radius:8px;border-bottom-color:transparent}.report-doc-section-title{margin:0 0 12px!important;color:var(--color-primary)!important;font-size:14px!important}.report-doc-field{margin-bottom:12px}.report-doc-field:last-child{margin-bottom:0}.report-doc-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:4px}.report-doc-value{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.preview-pane{width:100%;min-height:200px;border:1px dashed var(--color-border);border-radius:12px;background:var(--color-bg-layout);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;line-height:1.5;font-size:14px}.chapter-editor-row{--chapter-editor-height:max(520px,calc(100vh - 248px));width:100%;max-width:100%;margin-inline:0;height:var(--chapter-editor-height);min-height:520px}.chapter-editor-row>.chapter-editor-col{display:flex;height:100%}.chapter-editor-row .chapter-editor-panel{flex:1 1;width:100%;min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.chapter-editor-row .chapter-editor-nav{padding:8px;overflow:auto}.chapter-editor-row .chapter-editor-toolbar{margin-bottom:12px;flex-shrink:0}.chapter-editor-row .chapter-editor-scroll{flex:1 1;min-height:0;overflow:auto}@media (max-width:991px){.chapter-editor-row{height:auto;min-height:0}.chapter-editor-row>.chapter-editor-col{height:auto}.chapter-editor-row .chapter-editor-panel{height:480px;max-height:480px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.data-source-section{margin-bottom:8px}.data-source-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.study-search-block{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--color-primary-border);border-radius:var(--radius-component);background:var(--color-primary-bg)}.study-search-option-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.study-search-option-sub{display:block;font-size:12px;line-height:1.4;margin-top:2px}.study-selected-card{padding:12px 14px;border-radius:var(--radius-control);background:var(--color-bg-container);border:1px solid var(--color-border)}.study-selected-card-head{display:flex;align-items:center;flex-wrap:wrap}.manual-upload-status{margin-top:12px}.manual-upload-field{height:100%;display:flex;flex-direction:column;margin-bottom:0}.manual-upload-field-label{flex-shrink:0;line-height:1.4}.manual-upload-field-hint{flex-shrink:0;margin:4px 0 8px!important;font-size:12px!important;line-height:1.45!important;min-height:2.9em}.manual-upload-row>.ant-col{display:flex}.manual-upload-dragger .ant-upload,.manual-upload-dragger .ant-upload-drag,.manual-upload-dragger.ant-upload-wrapper{height:100%}.manual-upload-field .manual-upload-dragger{flex:1 1;display:flex;flex-direction:column;min-height:148px}.manual-upload-field .ant-upload-drag{display:flex!important;flex-direction:column;justify-content:center;min-height:148px;padding:16px 12px!important}.manual-upload-field .ant-upload-drag .ant-upload-drag-icon{margin-bottom:8px}.manual-upload-field .ant-upload-drag .ant-upload-text{margin:0;font-size:13px}