@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;font-family:Plus Jakarta Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{background:radial-gradient(circle at 0 0,#3b82f61a,#0000 28%),linear-gradient(#f8fbff 0%,#f4f7fb 28%,#eff4fb 100%);margin:0}.signoff-assignee-modal .ant-modal-content{background:radial-gradient(circle at 12% 14%,#60a5fa1a,#0000 24%),radial-gradient(circle at 94% 4%,#0ea5e914,#0000 22%),linear-gradient(135deg,#fff 0%,#fbfdff 48%,#fff 100%);border:1px solid #bfdbfeb8;padding:28px 30px 26px;overflow:hidden;box-shadow:0 26px 70px #0f172a38,inset 0 1px #ffffffe0}.signoff-assignee-modal .ant-modal-content:before{content:"";pointer-events:none;background-image:linear-gradient(#2563eb07 1px,#0000 1px),linear-gradient(90deg,#2563eb06 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#00000085,#0000 70%);mask-image:linear-gradient(135deg,#00000085,#0000 70%)}.signoff-assignee-modal .ant-modal-header,.signoff-assignee-modal .ant-modal-body{z-index:1;background:0 0;position:relative}.signoff-assignee-modal .ant-modal-title{color:#0f172a;letter-spacing:-.02em;font-size:20px;font-weight:800}.signoff-assignee-modal .dispatch-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 8% 18%,#2563eb0e,#0000 22%),linear-gradient(#fffffff0,#ffffffd1);border:1px solid #e2e8f0d1;border-radius:22px;margin-top:14px;padding:18px 22px;box-shadow:inset 0 1px #ffffffe6}.signoff-assignee-modal .dispatch-panel-title{color:#1e3a8a;align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:800;display:inline-flex}.signoff-assignee-modal .dispatch-panel-title:before{content:"";background:linear-gradient(#2563eb,#38bdf8);border-radius:999px;width:9px;height:22px;box-shadow:0 0 18px #2563eb61}.signoff-assignee-modal .dispatch-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.signoff-assignee-modal .person-card{cursor:pointer;background:linear-gradient(145deg,#fffffff5,#f8fbffe0),linear-gradient(90deg,#2563eb0b,#0000 42%);border:1px solid #bfdbfedb;border-radius:16px;align-items:center;gap:12px;width:auto;min-height:72px;padding:12px 14px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:flex;position:relative;box-shadow:0 8px 18px #2563eb12}.signoff-assignee-modal .person-card:hover{border-color:#2563eb6b;transform:translateY(-2px);box-shadow:0 12px 24px #2563eb1f}.signoff-assignee-modal .person-card-selected{background:linear-gradient(145deg,#eff6fffa,#dbeafedb),radial-gradient(circle at 92% 20%,#38bdf847,#0000 30%);border-color:#2563eb;box-shadow:0 12px 26px #2563eb29,0 0 0 3px #2563eb1f}.signoff-assignee-modal .person-card-avatar{background:linear-gradient(135deg,#dbeafe,#f8fafc);border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 0 0 1px #93c5fd99}.signoff-assignee-modal .person-card-info{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.signoff-assignee-modal .person-card-name{color:#0f172a;font-size:16px;font-weight:800}.signoff-assignee-modal .person-card-role,.signoff-assignee-modal .person-card-dept{color:#475569;font-size:13px}.signoff-assignee-modal .dispatch-panel-footer{justify-content:flex-end;margin-top:18px;display:flex}a{color:inherit}.di-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:24px;width:100%;display:grid}.di-layout-left,.di-layout-right{min-width:0}.di-layout-left{z-index:1;position:relative}.di-layout-right{z-index:0;position:relative}.di-queue-list,.di-right-stack{flex-direction:column;gap:12px;display:flex}.di-queue-card{width:100%;min-height:0;overflow:visible}.di-queue-card-content{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;display:flex}.di-queue-card-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.di-queue-card-actions{flex-direction:column;align-items:flex-end;gap:8px;width:108px;display:flex}.di-queue-card-complete{color:#2563eb;font-weight:700}.di-queue-card-complete:hover,.di-queue-card-complete:focus{color:#1d4ed8!important}.di-queue-card-code,.di-queue-card-batch{overflow-wrap:anywhere}.di-queue-card-name{word-break:keep-all;overflow-wrap:break-word}@media (width<=1180px){.di-layout{grid-template-columns:minmax(0,1fr)}.di-layout-left,.di-layout-right{width:100%}}@media (width<=720px){.di-layout{gap:16px}.di-queue-card-content{flex-direction:column;gap:12px}.di-queue-card-actions{flex-direction:row;justify-content:flex-start;align-items:center;width:100%}}.app-shell{min-height:100vh}.app-sider{border-right:1px solid #e2e8f0e6}.app-brand{background:linear-gradient(#fffffff2,#f8fafcf2);border:1px solid #e2e8f0f2;border-radius:16px;margin:16px 14px 10px;padding:16px 16px 14px;box-shadow:0 1px 4px #2563eb12,0 0 0 1px #e2e8f0}.app-brand-mark{justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:12px;display:inline-flex}.app-brand-logo{object-fit:contain;width:100%;height:100%;display:block}.app-brand-title{color:#0f172a;margin:0;font-size:18px;font-weight:700;line-height:1.2}.app-brand-subtitle{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.5}.app-sider-collapsed .app-brand{justify-content:center;align-items:center;margin:12px 10px 8px;padding:10px;display:flex}.app-sider-collapsed .app-brand-mark{width:42px;height:42px;margin-bottom:0}.app-header{z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid #e2e8f0bf;justify-content:space-between;align-items:center;height:auto;min-height:64px;padding:10px 24px;line-height:normal;display:flex;position:sticky;top:0}.app-header-meta{flex-direction:column;gap:2px;line-height:1.2;display:flex}.app-header-left{align-items:center;gap:16px;min-width:0;display:flex}.app-header-label{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.app-header-title{color:#0f172a;font-size:16px;font-weight:700}.company-scope-pill{background:radial-gradient(circle at 18% 10%,#2563eb1a,#0000 28%),linear-gradient(135deg,#fffffff5,#eff6ffe6);border:1px solid #2563eb2e;border-radius:999px;align-items:center;gap:8px;min-width:236px;padding:2px 9px 2px 10px;display:inline-flex;position:relative;box-shadow:0 6px 18px #0f172a0f,inset 0 1px #fffffff2}.company-scope-pill:before{content:"";background:#22c55e;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 4px #22c55e24}.company-scope-kicker{color:#2563eb;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800}.company-scope-select{flex:1;min-width:130px}.company-scope-select .ant-select-selector{padding-inline:0!important}.company-scope-select .ant-select-selection-item{color:#0f172a;font-size:14px;font-weight:700;line-height:22px}.company-scope-select .ant-select-selector{height:24px!important;min-height:24px!important}.app-content{padding:28px}.page-surface{flex-direction:column;gap:18px;display:flex}.page-header{background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #e2e8f0;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex;box-shadow:0 1px 4px #2563eb12,0 0 0 1px #e2e8f0}.page-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:700}.page-title{color:#0f172a;margin:0;font-size:26px;font-weight:700;line-height:1.15}.page-subtitle{color:#64748b;max-width:760px;margin:10px 0 0;font-size:14px;line-height:1.65}.page-header-extra{align-items:center;gap:12px;display:flex}.section-card,.summary-card,.detail-hero,.upload-card{border:1px solid #e2e8f0;box-shadow:0 1px 4px #2563eb12,0 0 0 1px #e2e8f0}.section-card.ant-card,.checklist-card.ant-card{border-radius:16px}.section-card.ant-card{margin-bottom:18px}.section-card .ant-card-head,.checklist-card .ant-card-head{border-bottom-color:#edf2f7}.section-card .ant-card-body,.checklist-card .ant-card-body{padding:20px}.contract-review-attachment-row{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.contract-review-attachment-replace.ant-btn{color:#475569;background:#f8fafc;border-color:#cbd5e1;flex:0 0 112px;width:112px;margin-left:auto;font-size:12px}.contract-review-attachment-replace.ant-btn:hover,.contract-review-attachment-replace.ant-btn:focus{color:#4f46e5;background:#fff;border-color:#818cf8}.reviewed-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=900px){.reviewed-history-grid{grid-template-columns:1fr}}.sampling-task-form-stack{isolation:isolate;min-height:214px;padding-top:18px;padding-right:38px;position:relative}.sampling-task-form-front-sheet{z-index:2;min-height:198px;position:relative;box-shadow:0 8px 20px #0f172a0f}.sampling-task-form-rear-sheet{z-index:1;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;position:absolute;inset:0 0 24px 24px;box-shadow:0 8px 18px #2563eb14}.sampling-task-form-rear-label{z-index:4;color:#2563eb;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:8px;right:10px}.sampling-task-form-rear-sheet:hover,.sampling-task-form-rear-sheet:focus-visible{border-color:#60a5fa;outline:none;box-shadow:0 10px 22px #2563eb24}.sampling-task-form-rear-sheet:hover .sampling-task-form-rear-label,.sampling-task-form-rear-sheet:focus-visible .sampling-task-form-rear-label{color:#1d4ed8;background:#bfdbfe}.summary-grid,.project-detail-summary-grid,.project-review-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;display:grid}.summary-card{background:#fff;border-radius:16px;padding:18px}.summary-label{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.summary-value{color:#0f172a;margin-top:10px;font-size:28px;font-weight:800;line-height:1}.summary-note{color:#64748b;margin-top:10px;font-size:13px}.summary-value-delta{color:#f97316;margin-left:6px;font-size:16px;font-weight:600}.task-route-page{--task-route-primary:#2563eb;--task-route-success:#22c55e;--task-route-warning:#f59e0b;--task-route-error:#ef4444;--task-route-text:#0f172a;--task-route-muted:#64748b;--task-route-border:#e2e8f0;--task-route-surface:#fff;--task-route-background:#f4f7fb;--task-route-unknown:#94a3b8;--task-route-strong-border:var(--task-route-border);--task-route-project-divider:color-mix(in srgb, var(--task-route-border) 72%, transparent);--task-route-stage-guide:color-mix(in srgb, var(--task-route-border) 38%, transparent);--task-route-prefix-divider:color-mix(in srgb, var(--task-route-border) 72%, transparent);--task-route-complete-fill:color-mix(in srgb, var(--task-route-success) 82%, var(--task-route-surface));--task-route-texture-ink:color-mix(in srgb, var(--task-route-text) 22%, transparent);--task-route-texture-step:8px;--task-route-transition-fast:.16s ease;--task-route-space-1:4px;--task-route-space-2:8px;--task-route-space-3:12px;--task-route-space-4:16px;--task-route-space-5:20px;--task-route-radius-control:8px;--task-route-radius-surface:14px;--task-route-radius-pill:999px;--task-route-hit-size:32px;--task-route-shadow-focus:0 0 0 3px color-mix(in srgb, var(--task-route-primary) 18%, transparent);min-width:0;color:var(--task-route-text)}.task-route-refresh,.task-route-filters,.task-route-toggle,.task-route-project-signals,.task-route-glyph-meta,.task-route-ai-summary,.task-route-ai-recommendation{align-items:center;display:flex}.task-route-refresh{justify-content:flex-end;gap:var(--task-route-space-3);flex-wrap:wrap}.task-route-refresh>span{color:var(--task-route-muted);font-variant-numeric:tabular-nums;font-size:12px}.task-route-filters{gap:var(--task-route-space-3);padding-block:var(--task-route-space-3);border-block:1px solid var(--task-route-border);flex-wrap:wrap}.task-route-search{width:min(100%,360px)}.task-route-department{width:min(100%,240px)}.task-route-toggle{min-height:var(--task-route-hit-size);gap:var(--task-route-space-2);color:var(--task-route-text);white-space:nowrap;font-size:13px;font-weight:700}.task-route-summary{border-block:1px solid var(--task-route-border);background:var(--task-route-surface);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.task-route-summary-item{min-width:0;padding:var(--task-route-space-3) var(--task-route-space-4)}.task-route-summary-item+.task-route-summary-item{border-left:1px solid var(--task-route-border)}.task-route-summary dt,.task-route-workload dt{color:var(--task-route-muted);font-size:11px;font-weight:700}.task-route-summary dd,.task-route-workload dd{margin:var(--task-route-space-1) 0 0;color:var(--task-route-text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;line-height:1}.task-route-summary-item--anomaly_route_count dd{color:var(--task-route-error)}.task-route-summary-item--due_soon_route_count dd{color:var(--task-route-warning)}.task-route-summary-item--data_missing_route_count dd{color:var(--task-route-unknown)}.task-route-ai{border-block:1px solid var(--task-route-border);background:var(--task-route-surface)}.task-route-ai-summary{gap:var(--task-route-space-3);min-height:44px;padding:var(--task-route-space-2) var(--task-route-space-3);cursor:pointer;list-style:none}.task-route-ai-summary::-webkit-details-marker{display:none}.task-route-ai-summary:before{content:"+";width:var(--task-route-hit-size);height:var(--task-route-hit-size);flex:0 0 var(--task-route-hit-size);border:1px solid var(--task-route-border);border-radius:var(--task-route-radius-control);color:var(--task-route-primary);place-items:center;font-weight:800;display:grid}.task-route-ai[open]>.task-route-ai-summary:before{content:"−"}.task-route-ai-summary:focus-visible{outline:2px solid var(--task-route-primary);outline-offset:2px}.task-route-ai-title{flex:none;font-size:13px;font-weight:800}.task-route-ai-status{min-width:0;color:var(--task-route-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.task-route-ai-recommendations{border-top:1px solid var(--task-route-border)}.task-route-ai-recommendation{justify-content:space-between;gap:var(--task-route-space-4);padding:var(--task-route-space-3) var(--task-route-space-4)}.task-route-ai-recommendation+.task-route-ai-recommendation{border-top:1px solid var(--task-route-border)}.task-route-ai-recommendation>div{min-width:0}.task-route-ai-recommendation strong{font-size:13px}.task-route-ai-recommendation p,.task-route-ai-empty{margin:var(--task-route-space-1) 0 0;color:var(--task-route-muted);font-size:12px;line-height:1.5}.task-route-ai-empty{padding:var(--task-route-space-3) var(--task-route-space-4);border-top:1px solid var(--task-route-border);margin:0}.task-route-loading,.task-route-state{padding:var(--task-route-space-5);border:1px solid var(--task-route-border);border-radius:var(--task-route-radius-surface);background:var(--task-route-surface)}.task-route-state{justify-content:center;align-items:flex-start;gap:var(--task-route-space-2);flex-direction:column;min-height:128px;display:flex}.task-route-state strong{font-size:16px}.task-route-state span{color:var(--task-route-muted);font-size:13px}.task-route-state--error{border-color:color-mix(in srgb, var(--task-route-error) 36%, var(--task-route-border))}.task-route-legend{border:1px solid var(--task-route-strong-border);border-radius:var(--task-route-radius-surface);background:var(--task-route-surface);overflow:hidden}.task-route-legend-header{justify-content:space-between;align-items:center;gap:var(--task-route-space-4);padding:var(--task-route-space-3) var(--task-route-space-4);cursor:pointer;background:color-mix(in srgb, var(--task-route-background) 72%, var(--task-route-surface));list-style:none;display:flex}.task-route-legend[open]>.task-route-legend-header{border-bottom:1px solid var(--task-route-project-divider)}.task-route-legend-header::-webkit-details-marker{display:none}.task-route-legend-header:focus-visible{outline:2px solid var(--task-route-primary);outline-offset:-2px}.task-route-legend-header>div{align-items:baseline;gap:var(--task-route-space-2);display:flex}.task-route-legend-header span{color:var(--task-route-primary);letter-spacing:.08em;font-size:10px;font-weight:800}.task-route-legend-header h2,.task-route-legend-grid h3,.task-route-legend-header p{margin:0}.task-route-legend-header h2{font-size:15px}.task-route-legend-header p{color:var(--task-route-muted);font-size:12px;line-height:1.5}.task-route-legend-header .task-route-legend-clause{color:var(--task-route-muted);letter-spacing:normal;font-size:12px;font-weight:400;display:inline-block}.task-route-legend-toggle{white-space:nowrap;flex:none}.task-route-legend-toggle:before{content:"展开"}.task-route-legend[open] .task-route-legend-toggle:before{content:"收起"}.task-route-legend-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.task-route-legend-grid>section{min-width:0;padding:var(--task-route-space-3) var(--task-route-space-4)}.task-route-legend-grid>section+section{border-left:1px solid var(--task-route-project-divider)}.task-route-legend-grid h3{margin-bottom:var(--task-route-space-2);font-size:12px}.task-route-legend-grid ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.task-route-legend-grid li{align-items:start;gap:var(--task-route-space-2);color:var(--task-route-muted);grid-template-columns:30px minmax(0,1fr);font-size:11px;line-height:1.45;display:grid}.task-route-legend-grid li strong{color:var(--task-route-text);margin-right:3px}.task-route-legend-swatch{border:1px solid var(--task-route-border);width:30px;min-height:18px;color:var(--task-route-text);background:var(--task-route-surface);border-radius:4px;place-items:center;font-size:10px;font-weight:800;line-height:1;display:grid;position:relative;overflow:hidden}.task-route-legend-swatch--reached,.task-route-legend-swatch--inferred{color:var(--task-route-surface);background:var(--task-route-complete-fill)}.task-route-legend-swatch--pending{background:color-mix(in srgb, var(--task-route-unknown) 42%, var(--task-route-surface))}.task-route-legend-swatch--unknown{background:var(--task-route-unknown)}.task-route-legend-swatch--not-applicable{background:repeating-linear-gradient(135deg, transparent, transparent 4px, var(--task-route-border) 4px, var(--task-route-border) 8px)}.task-route-legend-swatch--error:before,.task-route-legend-swatch--warning:before{content:"";inset-block:0;width:3px;position:absolute;left:0}.task-route-legend-swatch--error:before{background:var(--task-route-error)}.task-route-legend-swatch--warning:before{background:var(--task-route-warning)}.task-route-legend-swatch--missing{background-color:var(--task-route-complete-fill);background-image:repeating-linear-gradient(90deg, var(--task-route-texture-ink), var(--task-route-texture-ink) 1px, transparent 1px, transparent var(--task-route-texture-step))}.task-route-legend-swatch--degraded{background-color:var(--task-route-complete-fill);background-image:repeating-linear-gradient(135deg, var(--task-route-texture-ink), var(--task-route-texture-ink) 1px, transparent 1px, transparent var(--task-route-texture-step))}@media (width<=900px){.task-route-legend-header{align-items:flex-start;gap:var(--task-route-space-1);flex-direction:column}.task-route-legend-grid{grid-template-columns:1fr}.task-route-legend-grid>section+section{border-top:1px solid var(--task-route-project-divider);border-left:0}}.task-route-wall{border:1px solid var(--task-route-strong-border);border-radius:var(--task-route-radius-surface);background:var(--task-route-surface);min-width:0;overflow:hidden}.task-route-wall-axis,.task-route-row{grid-template-columns:240px minmax(0,1fr) 160px;display:grid}.task-route-wall-axis{border-bottom:1px solid var(--task-route-project-divider);min-height:44px;color:var(--task-route-muted);background:var(--task-route-background);align-items:stretch;font-size:11px;font-weight:800}.task-route-wall-axis>span{padding-inline:var(--task-route-space-3);align-items:center;display:flex}.task-route-wall-axis>span:last-child{justify-content:flex-end}.task-route-wall-axis>div{border-inline:1px solid var(--task-route-project-divider);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.task-route-wall-axis>div>span{padding:var(--task-route-space-2) var(--task-route-space-1);text-align:center;word-break:keep-all;place-items:center;line-height:1.25;display:grid}.task-route-wall-axis>div>span+span{border-left:1px solid var(--task-route-stage-guide)}.task-route-row{min-width:0;transition:background-color .16s,box-shadow .16s}.task-route-row+.task-route-row{border-top:1px solid var(--task-route-project-divider)}.task-route-row:is(:hover,:focus-within){background:color-mix(in srgb, var(--task-route-primary) 4%, var(--task-route-surface));box-shadow:inset 2px 0 0 color-mix(in srgb, var(--task-route-primary) 72%, var(--task-route-border))}.task-route-project{min-width:0;min-height:calc(var(--task-route-hit-size) * 2);justify-content:center;align-items:flex-start;gap:var(--task-route-space-1);padding:var(--task-route-space-3);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;display:flex}.task-route-project:focus-visible,.task-route-matrix-route:focus-visible{outline:2px solid var(--task-route-primary);outline-offset:-3px;box-shadow:var(--task-route-shadow-focus)}.task-route-project-code{color:var(--task-route-primary);letter-spacing:.04em;font-size:12px;font-weight:800}.task-route-project>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;overflow:hidden}.task-route-project-signals{gap:var(--task-route-space-2);color:var(--task-route-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:11px}.task-route-project-signals span:first-child{color:var(--task-route-error)}.task-route-project-signals span:nth-child(2){color:var(--task-route-warning)}.task-route-loom{--task-route-cell-size:6px;min-width:0;padding:var(--task-route-space-1) var(--task-route-space-3);border-inline:1px solid var(--task-route-project-divider);background:var(--task-route-background);flex-direction:column;justify-content:center;gap:0;display:flex;position:relative}.task-route-matrix{border:1px solid var(--task-route-strong-border);background:var(--task-route-unknown);flex-direction:column;gap:0;min-width:0;display:flex;overflow:hidden}.task-route-matrix-batch{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:var(--task-route-cell-size);gap:0;min-width:0;display:grid;position:relative}.task-route-matrix-batch+.task-route-matrix-batch:before{content:"";z-index:3;background:color-mix(in srgb, var(--task-route-project-divider) 45%, transparent);pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.task-route-matrix-route{width:100%;height:var(--task-route-cell-size);font:inherit;cursor:pointer;transition:filter var(--task-route-transition-fast), box-shadow var(--task-route-transition-fast);background:0 0;border:0;grid-column:3/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;display:grid;position:relative}.task-route-matrix-route:before{content:"";z-index:1;inset-block:0;background:0 0;width:2px;position:absolute;left:0}.task-route-matrix-route--error:before{background:var(--task-route-error)}.task-route-matrix-route--warning:before{background:var(--task-route-warning)}.task-route-matrix-route:hover,.task-route-matrix-route:focus-visible,.task-route-matrix-prefix-cell:hover,.task-route-matrix-prefix-cell:focus-visible,.task-route-matrix-shared-cell:hover,.task-route-matrix-shared-cell:focus-visible{z-index:2;filter:brightness(1.04)saturate(1.04);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--task-route-primary) 48%, transparent)}.task-route-matrix-route:focus-visible,.task-route-matrix-prefix-cell:focus-visible,.task-route-matrix-shared-cell:focus-visible{outline:2px solid var(--task-route-primary);outline-offset:-2px}.task-route-matrix-prefix-cell,.task-route-matrix-shared-cell{width:100%;font:inherit;cursor:pointer;transition:filter var(--task-route-transition-fast), box-shadow var(--task-route-transition-fast);border-top:0;border-bottom:0;border-right:0;padding:0}.task-route-matrix-prefix-cell--sample-received{grid-column:2}.task-route-matrix-cell{--task-route-cell-fill:var(--task-route-surface);min-width:0;height:var(--task-route-cell-size);border-left:1px solid var(--task-route-stage-guide);background-color:var(--task-route-cell-fill);place-items:center;display:grid;position:relative;overflow:hidden}.task-route-matrix-cell.task-route-matrix-prefix-cell--sampling-complete{border-left:0;grid-column:1}.task-route-matrix-cell.task-route-matrix-shared-cell{grid-row:1 / span var(--task-route-batch-row-count);height:calc(var(--task-route-cell-size) * var(--task-route-batch-row-count))}.task-route-matrix-cell:first-child{border-left:0}.task-route-matrix-route .task-route-matrix-cell:first-child{border-left:1px solid var(--task-route-stage-guide)}.task-route-matrix-cell--sample-received{border-left:1px solid var(--task-route-prefix-divider)}.task-route-matrix-cell--reached,.task-route-matrix-cell--inferred{--task-route-cell-fill:var(--task-route-complete-fill);color:var(--task-route-surface)}.task-route-matrix-cell--pending{--task-route-cell-fill:color-mix(in srgb, var(--task-route-unknown) 42%, var(--task-route-surface));color:var(--task-route-text)}.task-route-matrix-cell--unknown{--task-route-cell-fill:var(--task-route-unknown);color:var(--task-route-text)}.task-route-matrix-cell--not-applicable{--task-route-cell-fill:var(--task-route-surface);color:var(--task-route-muted);background-color:var(--task-route-surface);background-image:repeating-linear-gradient(135deg, transparent, transparent var(--task-route-space-1), var(--task-route-border) var(--task-route-space-1), var(--task-route-border) var(--task-route-space-2))}.task-route-matrix-cell--quality-missing{background-image:repeating-linear-gradient(90deg, var(--task-route-texture-ink), var(--task-route-texture-ink) 1px, transparent 1px, transparent var(--task-route-texture-step))}.task-route-matrix-cell--quality-degraded{background-image:repeating-linear-gradient(135deg, var(--task-route-texture-ink), var(--task-route-texture-ink) 1px, transparent 1px, transparent var(--task-route-texture-step))}.task-route-matrix-cell--truth-derived{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--task-route-text) 55%, transparent)}.task-route-matrix-cell-symbol{padding-inline:calc(var(--task-route-space-1) / 4);border-radius:calc(var(--task-route-space-1) / 4);background:var(--task-route-cell-fill);font-size:8px;font-weight:800;line-height:1;overflow:hidden}.task-route-matrix-info{gap:var(--task-route-space-1) var(--task-route-space-3);min-width:0;min-height:var(--task-route-hit-size);padding-top:var(--task-route-space-1);color:var(--task-route-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;font-size:11px;display:flex}.task-route-matrix-info b{color:var(--task-route-text);font-weight:700}.task-route-workload{align-content:center;gap:var(--task-route-space-2);padding:var(--task-route-space-3);grid-template-columns:1fr;margin:0;display:grid}.task-route-workload>div{justify-content:space-between;align-items:baseline;gap:var(--task-route-space-2);display:flex}.task-route-workload dd{margin:0;font-size:14px}.task-route-empty-project{padding-block:var(--task-route-space-3);color:var(--task-route-muted);margin:0;font-size:12px}.task-route-pagination{align-self:flex-end}.task-route-graph-modal{--task-route-primary:#2563eb;--task-route-success:#22c55e;--task-route-warning:#f59e0b;--task-route-error:#ef4444;--task-route-text:#0f172a;--task-route-muted:#64748b;--task-route-border:#e2e8f0;--task-route-surface:#fff;--task-route-background:#f4f7fb;--task-route-unknown:#94a3b8;--task-route-complete-fill:color-mix(in srgb, var(--task-route-success) 82%, var(--task-route-surface));--task-route-space-1:4px;--task-route-space-2:8px;--task-route-space-3:12px;--task-route-space-4:16px;--task-route-space-5:20px;--task-route-radius-control:8px;--task-route-radius-surface:14px;--task-route-modal-width:1480px;--task-route-graph-grid-size:24px;--task-route-graph-hit-size:32px;--task-route-graph-inspector-width:340px;--task-route-graph-line-width:3px;--task-route-graph-tooltip-width:232px;--task-route-graph-viewport-height:560px}.task-route-graph-modal .ant-modal-content{border:1px solid var(--task-route-border);border-radius:var(--task-route-radius-surface);overflow:hidden}.task-route-graph-modal .ant-modal-header{padding:var(--task-route-space-3) var(--task-route-space-4);border-bottom:1px solid var(--task-route-border);margin-bottom:0}.task-route-graph-modal-title{gap:var(--task-route-space-1);flex-direction:column;min-width:0;display:flex}.task-route-graph-modal-title strong{color:var(--task-route-text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.task-route-graph-modal-title small{color:var(--task-route-muted);font-size:11px;font-weight:600}.task-route-graph-modal .ant-modal-body{padding:0}.task-route-graph-modal-body{min-height:320px;max-height:72dvh;color:var(--task-route-text);background:var(--task-route-background);overflow:hidden auto}.task-route-graph-modal-state{justify-content:center;align-items:flex-start;gap:var(--task-route-space-2);min-height:320px;padding:calc(var(--task-route-space-5) * 2);background:var(--task-route-surface);flex-direction:column;display:flex}.task-route-graph-modal-state>span{color:var(--task-route-muted);font-size:13px}.task-route-graph-modal-state--error{box-shadow:inset 4px 0 0 var(--task-route-error)}.task-route-mindmap{border-right:1px solid var(--task-route-border);background:var(--task-route-background);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.task-route-graph-modal-layout{min-width:0;min-height:min(var(--task-route-graph-viewport-height), 64dvh);grid-template-columns:minmax(0,1fr) 340px;display:grid}.task-route-graph-toolbar{align-items:center;gap:var(--task-route-space-1);padding:var(--task-route-space-2) var(--task-route-space-3);border-bottom:1px solid var(--task-route-border);background:var(--task-route-surface);display:flex;position:relative}.task-route-graph-zoom-cluster{grid-template-columns:var(--task-route-graph-hit-size) auto var(--task-route-graph-hit-size);border:1px solid var(--task-route-border);border-radius:var(--task-route-radius-control);align-items:stretch;display:inline-grid;overflow:hidden}.task-route-graph-zoom-cluster button{border:0;border-radius:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.task-route-graph-zoom-cluster>*+*{border-left:1px solid var(--task-route-border)}.task-route-graph-operation-hint{color:var(--task-route-muted);white-space:nowrap;margin-left:auto;font-size:11px;line-height:1}.task-route-graph-toolbar button{min-width:var(--task-route-graph-hit-size);min-height:var(--task-route-graph-hit-size);padding:var(--task-route-space-1) var(--task-route-space-2);border:1px solid var(--task-route-border);border-radius:var(--task-route-radius-control);color:var(--task-route-text);font:inherit;background:var(--task-route-surface);cursor:pointer;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;transition:color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.task-route-graph-toolbar button:hover:not(:disabled),.task-route-graph-toolbar button:focus-visible{border-color:var(--task-route-primary);color:var(--task-route-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--task-route-primary) 18%, transparent)}.task-route-graph-toolbar button:focus-visible,.task-route-graph-viewport:focus-visible{outline:2px solid var(--task-route-primary);outline-offset:2px}.task-route-graph-toolbar button:disabled{color:var(--task-route-muted);cursor:not-allowed;opacity:.52}.task-route-graph-toolbar output{min-width:calc(var(--task-route-space-5) * 3);color:var(--task-route-muted);font-variant-numeric:tabular-nums;text-align:center;justify-content:center;align-items:center;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.task-route-graph-stage{min-width:0;min-height:0;position:relative}.task-route-graph-viewport{width:100%;height:min(var(--task-route-graph-viewport-height), 58dvh);background:linear-gradient(color-mix(in srgb, var(--task-route-border) 38%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--task-route-border) 38%, transparent) 1px, transparent 1px), var(--task-route-background);background-size:var(--task-route-graph-grid-size) var(--task-route-graph-grid-size);cursor:grab;touch-action:none;min-height:360px;position:relative;overflow:hidden}.task-route-graph-viewport--space-ready{cursor:grab}.task-route-graph-viewport--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.task-route-graph-canvas{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.task-route-graph-drawing{font-family:Plus Jakarta Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;display:block;overflow:visible}.task-route-graph-axis line{stroke:color-mix(in srgb, var(--task-route-border) 72%, transparent);stroke-dasharray:var(--task-route-space-1) var(--task-route-space-2);stroke-width:1px}.task-route-graph-axis text{fill:var(--task-route-muted);letter-spacing:.02em;text-anchor:middle;font-size:11px;font-weight:800}.task-route-graph-batch-label{fill:var(--task-route-text);font-size:13px;font-weight:800}.task-route-graph-batch-meta{fill:var(--task-route-muted);font-size:11px;font-weight:600}.task-route-graph-batch-rule{stroke:var(--task-route-border);stroke-width:1px}.task-route-graph-segment,.task-route-graph-route-risk{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.task-route-graph-segment{stroke-width:var(--task-route-graph-line-width)}.task-route-graph-segment--reached,.task-route-graph-segment--inferred{stroke:var(--task-route-complete-fill)}.task-route-graph-segment--pending{stroke:color-mix(in srgb, var(--task-route-unknown) 42%, var(--task-route-surface))}.task-route-graph-segment--unknown{stroke:var(--task-route-unknown)}.task-route-graph-segment--quality-missing{stroke-dasharray:var(--task-route-space-1) var(--task-route-space-1)}.task-route-graph-segment--quality-degraded{stroke-dasharray:var(--task-route-space-3) var(--task-route-space-1)}.task-route-graph-segment--not-applicable{stroke:var(--task-route-muted);stroke-dasharray:1px var(--task-route-space-2)}.task-route-graph-route-risk{stroke-width:calc(var(--task-route-graph-line-width) + 3px);stroke-linecap:butt}.task-route-graph-route-risk--error{stroke:var(--task-route-error)}.task-route-graph-route-risk--warning{stroke:var(--task-route-warning)}.task-route-graph-route-risk--quality-missing{stroke-dasharray:var(--task-route-space-1) var(--task-route-space-1)}.task-route-graph-route-risk--quality-degraded{stroke-dasharray:var(--task-route-space-3) var(--task-route-space-1)}.task-route-graph-route{color:var(--task-route-unknown);transition:filter .16s,opacity .16s}.task-route-graph-route-end-marker{dominant-baseline:central;text-anchor:middle;pointer-events:none;font-size:13px;font-weight:900}.task-route-graph-route-end-marker--error{fill:var(--task-route-error)}.task-route-graph-route-end-marker--warning{fill:var(--task-route-warning)}.task-route-graph-route-hit{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;min-height:32px;stroke-width:var(--task-route-graph-hit-size);cursor:pointer;pointer-events:stroke}:is(.task-route-graph-route:has(.task-route-graph-route-hit:hover),.task-route-graph-route:has(.task-route-graph-route-hit:focus-visible)){filter:drop-shadow(0 0 var(--task-route-space-1) color-mix(in srgb, var(--task-route-primary) 44%, transparent))}.task-route-graph-route--selected{filter:drop-shadow(0 0 var(--task-route-space-1) color-mix(in srgb, var(--task-route-primary) 65%, transparent))}.task-route-graph-route-hit:focus-visible,.task-route-graph-stage-node:focus-visible{outline:none}.task-route-graph-stage-focus{fill:#0000;stroke:#0000;stroke-width:2px}.task-route-graph-stage-node:hover .task-route-graph-stage-focus,.task-route-graph-stage-node:focus-visible .task-route-graph-stage-focus,.task-route-graph-stage-node[aria-pressed=true] .task-route-graph-stage-focus{fill:color-mix(in srgb, currentColor 12%, transparent);stroke:currentColor}.task-route-graph-stage-mark{fill:var(--task-route-surface);stroke:currentColor;stroke-width:var(--task-route-graph-line-width)}.task-route-graph-stage-symbol{fill:currentColor;dominant-baseline:central;text-anchor:middle;pointer-events:none;font-size:10px;font-weight:900}.task-route-graph-stage-node--reached,.task-route-graph-stage-node--inferred{color:var(--task-route-success)}.task-route-graph-stage-node--pending,.task-route-graph-stage-node--unknown{color:var(--task-route-unknown)}.task-route-graph-stage-node--not-applicable{color:var(--task-route-muted)}.task-route-graph-stage-node--quality-missing .task-route-graph-stage-mark,.task-route-graph-stage-node--truth-derived .task-route-graph-stage-mark,.task-route-graph-prefix--inconsistent .task-route-graph-stage-mark{stroke-dasharray:var(--task-route-space-1) var(--task-route-space-1)}.task-route-graph-stage-node--quality-degraded .task-route-graph-stage-mark{fill:color-mix(in srgb, currentColor 12%, var(--task-route-surface))}.task-route-graph-tooltip{z-index:2;width:var(--task-route-graph-tooltip-width);gap:var(--task-route-space-1);max-height:148px;padding:var(--task-route-space-3);border:1px solid var(--task-route-border);border-radius:var(--task-route-radius-control);box-shadow:0 var(--task-route-space-2) var(--task-route-space-5) color-mix(in srgb, var(--task-route-text) 16%, transparent);color:var(--task-route-text);background:color-mix(in srgb, var(--task-route-surface) 96%, transparent);pointer-events:none;display:grid;position:absolute;overflow:hidden}.task-route-graph-tooltip>span,.task-route-graph-tooltip dt,.task-route-graph-tooltip small{color:var(--task-route-muted);font-size:11px}.task-route-graph-tooltip dl{gap:var(--task-route-space-1);margin:var(--task-route-space-1) 0;grid-template-columns:minmax(0,1fr);display:grid}.task-route-graph-tooltip dl>div{min-width:0}.task-route-graph-tooltip dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700}.task-route-graph-inspector,.task-route-diagnostic-panel{min-width:0;max-height:min(var(--task-route-graph-viewport-height), 64dvh);border-left:1px solid var(--task-route-border);background:var(--task-route-surface);overflow-y:auto}.task-route-diagnostic-panel{padding:var(--task-route-space-4)}.task-route-graph-inspector .task-route-workspace-inspector{border:0}.task-route-graph-inspector .task-route-workspace-evidence-grid,.task-route-graph-inspector .task-route-workspace-milestones ol{grid-template-columns:minmax(0,1fr)}.task-route-diagnostic-section+.task-route-diagnostic-section{margin-top:var(--task-route-space-4);padding-top:var(--task-route-space-4);border-top:1px solid var(--task-route-border)}.task-route-diagnostic-section header{gap:var(--task-route-space-1);margin-bottom:var(--task-route-space-3);flex-direction:column;display:flex}.task-route-diagnostic-section header>span,.task-route-diagnostic-section p,.task-route-diagnostic-section small,.task-route-diagnostic-item--error span,.task-route-diagnostic-item--warning span,.task-route-diagnostic-item--relationship span{color:var(--task-route-muted);font-size:11px}.task-route-diagnostic-section header strong{color:var(--task-route-text);font-size:13px}.task-route-diagnostic-summary{border-top:1px solid var(--task-route-border);border-left:1px solid var(--task-route-border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.task-route-diagnostic-summary>div{justify-content:space-between;align-items:baseline;gap:var(--task-route-space-2);padding:var(--task-route-space-2);border-right:1px solid var(--task-route-border);border-bottom:1px solid var(--task-route-border);display:flex}.task-route-diagnostic-summary dt{color:var(--task-route-muted);font-size:11px}.task-route-diagnostic-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:800}.task-route-diagnostic-summary--error dd{color:var(--task-route-error)}.task-route-diagnostic-summary--warning dd{color:var(--task-route-warning)}.task-route-diagnostic-priority ol,.task-route-diagnostic-legend ul{gap:var(--task-route-space-2);margin:0;padding:0;list-style:none;display:grid}.task-route-diagnostic-priority li{gap:var(--task-route-space-1);padding-left:var(--task-route-space-3);border-left:2px solid var(--task-route-border);display:grid}.task-route-diagnostic-item--error{border-left-color:var(--task-route-error)!important}.task-route-diagnostic-item--warning{border-left-color:var(--task-route-warning)!important}.task-route-diagnostic-item--relationship{border-left-color:var(--task-route-unknown)!important}.task-route-diagnostic-priority li strong{color:var(--task-route-text);font-size:12px}.task-route-diagnostic-legend li{align-items:center;gap:var(--task-route-space-2);color:var(--task-route-muted);font-size:12px;display:flex}.task-route-diagnostic-mark{width:var(--task-route-space-4);place-items:center;font-weight:900;display:inline-grid}.task-route-diagnostic-mark--error{color:var(--task-route-error)}.task-route-diagnostic-mark--warning{color:var(--task-route-warning)}.task-route-diagnostic-mark--normal{color:var(--task-route-unknown)}.task-route-graph-inspector .task-route-mindmap-issues{border-top:1px solid var(--task-route-border)}.task-route-mindmap-issues{gap:var(--task-route-space-1);padding:var(--task-route-space-3) var(--task-route-space-4);border-top:1px solid var(--task-route-border);box-shadow:inset 4px 0 0 var(--task-route-warning);background:var(--task-route-surface);flex-direction:column;display:flex}.task-route-mindmap-issues span,.task-route-mindmap-issues li{color:var(--task-route-muted);font-size:12px}.task-route-mindmap-issues ul{margin:var(--task-route-space-1) 0 0;padding-left:var(--task-route-space-5)}@media (width<=960px){.task-route-graph-modal-body{overflow-y:auto}.task-route-graph-modal-layout{grid-template-columns:minmax(0,1fr)}.task-route-graph-inspector,.task-route-diagnostic-panel{border-top:1px solid var(--task-route-border);border-left:0;width:100%;max-height:none}.task-route-mindmap{border-right:0}.task-route-graph-operation-hint{width:100%;margin-left:0}}@media (width<=768px){.task-route-page,.task-route-wall,.task-route-row,.task-route-loom{width:100%;min-width:0;max-width:100%}.task-route-refresh{justify-content:flex-start}.task-route-filters{align-items:stretch}.task-route-search,.task-route-department{width:100%}.task-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.task-route-summary-item+.task-route-summary-item{border-left:0}.task-route-summary-item:nth-child(2n){border-left:1px solid var(--task-route-border)}.task-route-summary-item:nth-child(n+3){border-top:1px solid var(--task-route-border)}.task-route-summary-item:last-child{grid-column:1/-1}.task-route-ai-summary{flex-wrap:wrap}.task-route-ai-status{white-space:normal;flex-basis:100%;order:3;width:100%}.task-route-ai-recommendation{align-items:flex-start}.task-route-wall-axis{display:block}.task-route-wall-axis>span{display:none}.task-route-wall-axis>div{border-inline:0;min-height:48px}.task-route-wall-axis>div>span{white-space:normal;padding-inline:2px;font-size:10px}.task-route-row{grid-template-columns:minmax(0,1fr)}.task-route-project{border-bottom:1px solid var(--task-route-border);min-height:0}.task-route-project>strong{white-space:normal}.task-route-loom{border-inline:0;border-bottom:1px solid var(--task-route-border)}.task-route-matrix-info{gap:var(--task-route-space-1) var(--task-route-space-2)}.task-route-workload{grid-template-columns:repeat(3,minmax(0,1fr))}.task-route-graph-modal .ant-modal{max-width:calc(100vw - (var(--task-route-space-2) * 2));margin:var(--task-route-space-2) auto}.task-route-graph-modal-body{max-height:78dvh}.task-route-graph-toolbar{flex-wrap:wrap}.task-route-graph-viewport{min-height:400px}}@media (width<=720px){.app-shell{display:block}.app-shell>.ant-layout{width:100%;min-width:0}.app-shell.ant-layout-has-sider>.ant-layout{flex:none;width:100%;min-width:0}.app-sider{display:none}.app-content{width:100%;min-width:0;padding:var(--task-route-space-3,12px)}.page-surface{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.task-route-row,.task-route-matrix-route,.task-route-matrix-prefix-cell,.task-route-matrix-shared-cell,.task-route-graph-toolbar button,.task-route-graph-route{transition:none}.task-route-matrix-route:hover,.task-route-matrix-route:focus-visible,.task-route-matrix-prefix-cell:hover,.task-route-matrix-prefix-cell:focus-visible,.task-route-matrix-shared-cell:hover,.task-route-matrix-shared-cell:focus-visible{transform:none}}.review-list-actions{flex-wrap:nowrap;align-items:center;min-width:132px;display:inline-flex}.contract-review-project-cell{flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;display:inline-flex}.contract-review-project-code{color:#0f172a;word-break:break-word;font-size:14px;font-weight:750;line-height:1.35}.contract-review-project-name-chip{max-width:min(360px,100%)}.contract-review-datetime-cell{flex-direction:column;line-height:1.35;display:inline-flex}.contract-review-datetime-time{color:#64748b;font-size:12px;line-height:1.2}.contract-review-pending-sample-cell{align-items:center;gap:10px;display:inline-flex}.contract-review-pending-source-pill{color:#0f172a;background:#f8fafc;border-radius:8px;align-items:center;min-height:24px;padding:2px 9px;font-size:13px;font-weight:650;line-height:1;display:inline-flex}.contract-review-pending-sample-count{color:#fff;background:#4f6df5;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.contract-review-pending-materials{color:#334155;word-break:keep-all;overflow-wrap:break-word;font-size:12px;line-height:1.45}.contract-review-pending-actions{align-items:stretch}.contract-review-return-revision-action.ant-btn,.contract-review-return-revision-action.ant-btn:not(:disabled):not(.ant-btn-disabled){color:#94a3b8;font-size:12px;font-weight:500}.contract-review-return-revision-action.ant-btn:hover,.contract-review-return-revision-action.ant-btn:focus{color:#64748b;background:0 0}.review-list-action.ant-btn{white-space:nowrap;border:none;border-radius:999px;flex:0 0 56px;justify-content:center;align-items:center;width:auto;min-width:56px;height:32px;padding:0 14px;font-size:13px;font-weight:600;line-height:1;transition:opacity .18s,box-shadow .18s,color .18s,background .18s;display:inline-flex;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514,0 4px 8px #222a350d}.review-list-action--primary.ant-btn,.review-list-action--primary.ant-btn:not(:disabled):not(.ant-btn-disabled){color:#fff;background:#2563eb;box-shadow:0 1px 5px -4px #2563ebb3,inset 0 2px #ffffff26,0 4px 8px #2563eb14}.review-list-action--primary.ant-btn:hover,.review-list-action--primary.ant-btn:focus{color:#fff;opacity:.78;background:#2563eb}.review-list-action--ghost.ant-btn,.review-list-action--ghost.ant-btn:not(:disabled):not(.ant-btn-disabled){color:#2563eb;background:#fff}.review-list-action--ghost.ant-btn:hover,.review-list-action--ghost.ant-btn:focus{color:#1d4ed8;background:#fff;box-shadow:0 1px 5px -4px #2563eb59,0 0 0 1px #2563eb29,0 6px 12px #2563eb1a}.review-queue-approved-actions{flex-direction:column;align-items:flex-start;gap:6px;display:inline-flex}.review-queue-approved-release-row{display:flex}.lab-batch-department-count-cell{text-align:center;white-space:nowrap;justify-content:center;min-width:24px;display:inline-flex}.lab-batch-manager-toolbar{background:radial-gradient(circle at 96% 8%,#3867f41a,#0000 28%),linear-gradient(#f8fbfff5,#fffffffa);border:1px solid #bfdbfeb8;border-radius:16px;align-items:stretch;gap:12px;margin-bottom:16px;padding:14px;position:relative}.lab-batch-manager-search{max-width:420px}.lab-batch-manager-search.ant-input-affix-wrapper,.lab-batch-manager-filter .ant-select-selector{background:#ffffffd1;border-color:#cbd5e1db;border-radius:12px;transition:border-color .2s,box-shadow .2s,background .2s}.lab-batch-manager-search.ant-input-affix-wrapper:hover,.lab-batch-manager-search.ant-input-affix-wrapper-focused,.lab-batch-manager-filter .ant-select-selector:hover{background:#fff;border-color:#3867f4c2;box-shadow:0 8px 20px #3867f414}.lab-batch-manager-filter{min-width:148px}.lab-batch-project-group-list{flex-direction:column;gap:18px;display:flex}.lab-batch-project-group-card{background:radial-gradient(circle at 92% 4%,#2563eb0b,#0000 30%),linear-gradient(#fff 0%,#fdfefe 100%);border:1px solid #cbd5e1db;border-radius:12px;overflow:hidden;box-shadow:0 18px 44px #0f172a0f,inset 0 1px #ffffffe6}.lab-batch-project-group-header{background:linear-gradient(90deg,#fffffffa,#f8fbfff0);border-bottom:0;justify-content:space-between;align-items:center;gap:24px;min-height:58px;padding:11px 28px 6px;display:flex}.lab-batch-project-group-heading{align-items:center;gap:11px;min-width:0;display:flex}.lab-batch-project-group-icon{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:inset 0 1px #ffffffdb,0 1px 2px #2563eb14}.lab-batch-project-group-icon-glyph{color:#2563eb;font-size:17px}.lab-batch-project-group-title{color:#0f172a;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.22}.lab-batch-project-group-code{color:#475569;letter-spacing:.01em;margin-top:4px;font-size:12px;font-weight:500}.lab-batch-project-group-summary{flex:none;justify-content:flex-end}.lab-batch-project-stat.ant-tag{border:0;border-radius:6px;min-height:auto;margin-inline-end:0;padding:0 7px;font-size:12px;font-weight:600;line-height:20px;display:inline-block}.lab-batch-project-stat-batch.ant-tag{color:#2563eb;background:#eff6ff}.lab-batch-project-stat-sample.ant-tag{color:#0891b2;background:#ecfeff}.lab-batch-project-stat-unassigned.ant-tag{color:#c2410c;background:#fff7ed}.lab-batch-project-stat-assigned.ant-tag{color:#4d7c0f;background:#f0fdf4}.lab-batch-project-group-card .ant-table-thead>tr>th{border-bottom:0;padding-block:8px;line-height:1.2}.report-dispatch-report-no{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:700;display:inline-block}.notification-target-row>td{animation:6s ease-out notification-target-fade;position:relative;box-shadow:inset 0 2px #2563ebb8,inset 0 -2px #2563ebb8}.notification-target-row>td:first-child{box-shadow:inset 2px 2px #2563ebb8,inset 0 -2px #2563ebb8}.notification-target-row>td:last-child{box-shadow:inset -2px 2px #2563ebb8,inset 0 -2px #2563ebb8}.notification-target-element{animation:6s ease-out notification-target-fade;position:relative;box-shadow:inset 0 0 0 2px #2563ebb8,0 0 0 1px #dbeafee6}.notification-target-card{border-color:#2563ebb8!important}.notification-target-badge{color:#1d4ed8;background:#eff6fffa;border-color:#2563eb52;font-weight:700;box-shadow:0 6px 16px #2563eb24}.notification-bell-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fbffe0;border:1px solid #cbd5e1b8;border-radius:18px;width:360px;max-height:460px;padding:12px;overflow:auto;box-shadow:0 18px 46px #0f172a29}.notification-bell-item{background:#ffffffad;border-radius:14px;margin:4px 0;transition:background .16s,transform .16s,box-shadow .16s}.notification-bell-item:hover{background:#eff6ffeb;transform:translateY(-1px);box-shadow:0 10px 26px #2563eb1f}.notification-bell-item-read{background:#f8fafc8a}@keyframes notification-target-fade{0%{filter:saturate(1.2)}78%{filter:saturate(1.08)}to{filter:saturate()}}.batch-project-code-chip{color:#1d4ed8;letter-spacing:.2px;white-space:normal;word-break:break-word;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:flex-start;max-width:min(420px,100%);min-height:22px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.35;display:inline-flex}.lab-batch-project-name-link{white-space:normal}.lab-batch-project-name-link.ant-btn{min-width:0;max-width:100%;height:auto;min-height:18px;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:left;white-space:normal;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:6px;padding:0;display:inline-grid}.lab-batch-project-name-link.ant-btn:hover,.lab-batch-project-name-link.ant-btn:focus{color:#1d4ed8}.lab-batch-project-name-text{text-overflow:ellipsis;white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.lab-batch-project-attachment-icon{flex:none;margin-top:1px}.report-audit-reviewed-time-cell{flex-direction:column;gap:2px;line-height:1.35;display:inline-flex}.report-audit-reviewed-time-cell-secondary{color:#64748b;font-size:12px}.sampling-task-package-list .sampling-task-package-row-item{padding:18px 0}.sampling-task-package-row-body{align-items:flex-start;gap:16px;display:flex}.sampling-task-package-row-main{flex:1;min-width:0}.sampling-task-package-row-extra{flex-shrink:0;justify-content:flex-end;width:fit-content;display:flex}.sampling-task-package-action-stack{flex-direction:column;align-items:flex-end;gap:8px;width:fit-content;display:flex}.sampling-task-package-action-row{display:flex}.sampling-task-package-action-stack .ant-btn{white-space:nowrap;justify-content:center;width:fit-content;min-width:72px}.sampling-task-package-more-action.ant-btn{height:28px;padding:0 8px}.sampling-task-package-row{gap:14px}.assigned-sampling-tasks-panel{background:linear-gradient(135deg,#f8fafcfa,#ffffffeb),radial-gradient(circle at 0 0,#3b82f614,#0000 36%);border:1px solid #94a3b83d;border-radius:18px;min-width:0;max-width:100%;margin-top:18px;overflow:hidden;box-shadow:0 12px 28px -20px #0f172a0f}.assigned-sampling-tasks-header{border-bottom:1px solid #cbd5e1b3;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px 12px;display:flex}.assigned-sampling-tasks-title{color:#0f172a;letter-spacing:-.01em;font-size:15px;font-weight:800}.assigned-sampling-tasks-subtitle{color:#64748b;margin-top:3px;font-size:12px;line-height:1.5}.assigned-sampling-tasks-count{color:#2563eb;background:#eff6ff;border:1px solid #3b82f62e;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:700}.assigned-task-level-cell{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.35;display:inline-flex}.assigned-task-level-primary{color:#0f172a;font-weight:700}.assigned-task-level-secondary{color:#2563eb;white-space:nowrap;font-size:12px;font-weight:800}.assigned-sampling-tasks-table .assigned-task-row--director>td{background:#f8fafceb}.assigned-sampling-tasks-table .assigned-task-row--supervisor>td{background:#eff6ffe0}.assigned-sampling-child-table .assigned-task-row--team-lead-child>td{background:#f0fdf4e6}.assigned-sampling-tasks-table .assigned-task-row--director:hover>td{background:#f1f5f9fa}.assigned-sampling-tasks-table .assigned-task-row--supervisor:hover>td{background:#dbeafeeb}.assigned-sampling-child-table .assigned-task-row--team-lead-child:hover>td{background:#dcfce7f5}.assigned-sampling-child-tasks{background:linear-gradient(135deg,#eff6ffc7,#fffffff0),radial-gradient(circle at 100% 0,#0ea5e91a,#0000 32%);border:1px solid #3b82f629;border-radius:14px;padding:10px 10px 12px}.assigned-sampling-child-title{color:#1d4ed8;margin-bottom:8px;font-size:12px;font-weight:800}.assigned-sampling-child-table .ant-table{background:#ffffffc2}.assigned-sampling-tasks-table.ant-table-wrapper{min-width:0;max-width:100%}.assigned-sampling-tasks-table .ant-table{background:0 0}.assigned-sampling-tasks-table .ant-table-container{border-start-start-radius:0;border-start-end-radius:0}.assigned-sampling-tasks-table .ant-table-thead>tr>th{color:#334155;white-space:nowrap;background:#f1f5f9db;font-size:13px;font-weight:800}.assigned-sampling-tasks-table .ant-table-tbody>tr>td{color:#0f172a;vertical-align:middle;font-size:13px}.assigned-sampling-tasks-table .ant-table-tbody>tr:hover>td{background:#eff6ffb8}.assigned-task-code{color:#0f172a;letter-spacing:-.03em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:800}.assigned-task-date,.assigned-task-created-at{white-space:nowrap;font-variant-numeric:tabular-nums}.assigned-task-created-at{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.35;display:inline-flex}.assigned-task-created-at-date{color:#0f172a;font-weight:700}.assigned-task-created-at-time{color:#64748b;font-size:11px;font-weight:600}.assigned-task-empty{color:#94a3b8}.coc-receive-modal{flex-direction:column;gap:16px;display:flex}.coc-receive-summary{color:#334155;background:linear-gradient(135deg,#f8fbff,#eef6ff);border:1px solid #bfdbfed1;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:14px 16px;font-size:13px;display:grid}.coc-receive-section{background:#ffffffeb;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px}.coc-receive-section-title{color:#0f172a;margin-bottom:12px;font-size:15px;font-weight:800}.coc-receive-check-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.coc-receive-check-header .coc-receive-section-title{margin-bottom:0}.coc-receive-check-unavailable.ant-checkbox-wrapper{color:#334155;white-space:nowrap;flex:none;margin-inline-start:auto;font-size:13px;font-weight:700}.coc-receive-check-list{flex-direction:column;gap:10px;display:flex}.coc-receive-check-section{background:radial-gradient(circle at 16px 16px,#2563eb14,#0000 30%),linear-gradient(#f8fbff 0%,#f3f7fc 100%);border-color:#bfdbfee0;box-shadow:inset 0 1px #ffffffdb}.coc-receive-check-section .checklist-compact-row{background:#fffffff0;border-color:#cbd5e1e0}.coc-receive-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.coc-receive-label{color:#1e293b;margin-bottom:7px;font-size:13px;font-weight:700;display:block}.coc-snapshot-modal .ant-modal-content{background:radial-gradient(circle at 8% 2%,#0ea5e91f,#0000 28%),linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #bfdbfec7;border-radius:24px;overflow:hidden;box-shadow:0 28px 70px #0f172a38}.coc-snapshot-shell{flex-direction:column;gap:14px;display:flex}.coc-snapshot-record-card{background:linear-gradient(135deg,#eff6fff5,#ecfeffd1),radial-gradient(circle at 100% 0,#2563eb1f,#0000 32%);border:1px solid #93c5fdb8;border-radius:20px;padding:20px 22px 18px;overflow:hidden;box-shadow:0 1px 5px -4px #1313165c,0 0 0 1px #222a3514,0 4px 8px #222a350d}.coc-snapshot-record-header{border-bottom:1px solid #94a3b838;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.coc-snapshot-record-title-block{min-width:0}.coc-snapshot-kicker{color:#2563eb;letter-spacing:.08em;font-size:12px;font-weight:800}.coc-snapshot-record-title-block h3{color:#0f172a;letter-spacing:-.02em;margin:5px 0 4px;font-size:21px;font-weight:850}.coc-snapshot-record-title-block p{color:#475569;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:13px}.coc-snapshot-record-actions{flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.coc-snapshot-record-actions .ant-btn{border-radius:999px;font-weight:750}.coc-snapshot-status-seal{color:#16a34a;background:#dcfce7;border:1px solid #22c55e57;border-radius:999px;flex:none;justify-content:center;align-items:center;height:36px;padding:7px 13px;font-size:13px;font-weight:850;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.coc-snapshot-withdraw-button.ant-btn{color:#dc2626;cursor:pointer;background:#ffffffb8;border-color:#ef444494;height:36px;padding:0 13px;font-size:13px;font-weight:850;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s;box-shadow:0 1px 5px -3px #ef444424,0 0 0 1px #ef44441f,0 4px 8px #222a350a}.coc-snapshot-withdraw-button.ant-btn:hover{color:#b91c1c;background:#fff1f2;border-color:#dc2626c7;box-shadow:0 2px 8px -3px #ef44442e,0 0 0 1px #ef44442e,0 6px 12px #222a350f}.coc-snapshot-withdraw-button.ant-btn:focus-visible{outline-offset:2px;outline:3px solid #ef44442e}.coc-snapshot-withdraw-button.ant-btn:active{transform:translateY(1px);box-shadow:0 1px 4px -3px #ef444429,0 0 0 1px #ef444429}.coc-snapshot-section{background:#ffffffe6;border:1px solid #e2e8f0eb;border-radius:18px;padding:14px 16px}.coc-snapshot-section-title{color:#0f172a;margin-bottom:12px;font-size:15px;font-weight:850}.coc-snapshot-section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.coc-snapshot-record-body{padding-top:14px}.coc-snapshot-flow-note{color:#334155;margin:0 0 14px;font-size:13px;font-weight:700}.coc-snapshot-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.coc-snapshot-flow-group{background:#ffffff9e;border-radius:16px;flex-direction:column;gap:10px;min-width:0;padding:12px 14px;display:flex;box-shadow:inset 0 0 0 1px #e2e8f0d1}.coc-snapshot-flow-group>span{color:#475569;letter-spacing:.06em;font-size:12px;font-weight:850}.coc-snapshot-flow-group div{grid-template-columns:minmax(68px,auto) minmax(0,1fr);align-items:baseline;gap:10px;min-width:0;display:grid}.coc-snapshot-flow-group em{color:#64748b;font-size:12px;font-style:normal;font-weight:700}.coc-snapshot-flow-group strong{color:#0f172a;word-break:keep-all;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:800}.coc-snapshot-summary-grid,.coc-snapshot-receive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.coc-snapshot-summary-grid div,.coc-snapshot-receive-grid div{flex-direction:column;gap:4px;min-width:0;display:flex}.coc-snapshot-summary-grid span,.coc-snapshot-receive-grid span{color:#64748b;font-size:12px;font-weight:700}.coc-snapshot-summary-grid strong,.coc-snapshot-receive-grid strong{color:#0f172a;word-break:break-word;font-size:13px;font-weight:750}.coc-snapshot-correction-toolbar{align-items:center;gap:8px;margin:-6px 0 12px;display:flex}.coc-snapshot-correction-action.ant-btn{color:#dc2626;height:24px;padding:0;font-size:12px;font-weight:850}.coc-snapshot-correction-action.ant-btn:hover{color:#b91c1c}.coc-snapshot-correction-save.ant-btn{border-radius:999px;height:24px;font-size:12px;font-weight:800}.coc-snapshot-inline-correction{background:#ffffff9e;border:1px solid #0000;border-radius:14px;min-height:62px;padding:10px 12px;box-shadow:inset 0 0 0 1px #e2e8f0d1}.coc-snapshot-inline-correction .ant-input,.coc-snapshot-inline-correction .ant-input-affix-wrapper{border-color:#ef444452;border-radius:10px}.coc-snapshot-empty{color:#64748b;text-align:center;background:#f8fafc;border-radius:14px;padding:22px}.coc-snapshot-attachment-list{background:#fff;border-radius:14px}.coc-snapshot-attachment-main{flex:1;min-width:0}.coc-snapshot-attachment-name{overflow-wrap:anywhere}.coc-snapshot-attachment-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:2px;display:flex}.coc-snapshot-attachment-actions .ant-btn{padding-inline:6px}@media (width<=640px){.coc-snapshot-attachment-list .attachment-list-item{flex-direction:column}.coc-snapshot-attachment-actions{justify-content:flex-start;width:100%}}.coc-snapshot-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.coc-snapshot-check-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.coc-snapshot-check-card span{color:#1e293b;font-size:13px;font-weight:750}.coc-snapshot-check-card strong{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:850}.coc-snapshot-check-card em{color:#b45309;grid-column:1/-1;font-size:12px;font-style:normal}.coc-snapshot-check-yes{color:#16a34a;background:#dcfce7}.coc-snapshot-check-no{color:#dc2626;background:#fee2e2}@media (width<=760px){.coc-receive-summary,.coc-receive-form-grid,.coc-snapshot-flow-grid,.coc-snapshot-summary-grid,.coc-snapshot-receive-grid,.coc-snapshot-check-grid{grid-template-columns:1fr}.coc-snapshot-record-header{flex-direction:column}.coc-snapshot-record-actions{justify-content:flex-start}}.sampling-task-package-section-stack{flex-direction:column;gap:22px;display:flex}.sampling-task-package-section{background:linear-gradient(135deg,#f8fafcf2,#ffffffdb),radial-gradient(circle at 0 0,#3b82f614,#0000 34%);border:1px solid #94a3b838;border-radius:22px;padding:18px;position:relative}.sampling-task-package-section-supervisor{background:linear-gradient(135deg,#eff6fff0,#ffffffe6 62%),radial-gradient(circle at 0 0,#3b82f629,#0000 38%);border-color:#60a5fa4d}.sampling-task-package-section-team-lead{background:linear-gradient(135deg,#f5f3fff0,#ffffffe6 62%),radial-gradient(circle at 0 0,#8b5cf624,#0000 38%);border-color:#a78bfa4d}.sampling-task-package-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.sampling-task-package-section-header>div{width:100%;min-width:0}.sampling-task-package-section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sampling-task-package-section-pills{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.sampling-task-package-section-kind-pill.ant-tag,.sampling-task-package-section-count-pill.ant-tag{border-radius:999px;margin-inline-end:0;font-size:12px;font-weight:700;line-height:20px}.sampling-task-package-section-header h3{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:800}.sampling-task-package-section-header p{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.6}.sampling-task-package-owner-tabs .ant-tabs-nav{border-bottom:1px solid #dbeafe;margin-bottom:20px}.sampling-task-package-owner-tabs .ant-tabs-nav-list{align-items:flex-end;display:flex}.sampling-task-package-owner-tabs .ant-tabs-tab{z-index:1;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 100%,0 100%);background:linear-gradient(#f8fafc 0%,#eef2f7 100%);border:1px solid #dbe3ef;border-bottom-color:#cbd5e1;border-radius:10px 6px 0 0;min-width:136px;margin:0;padding:11px 28px 10px 18px;transition:color .16s,background .16s,border-color .16s,box-shadow .16s,transform .16s;position:relative;box-shadow:0 -1px 7px #0f172a0a}.sampling-task-package-owner-tabs.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:0}.sampling-task-package-owner-tabs .ant-tabs-tab:hover{z-index:2;color:#2563eb;background:linear-gradient(#fff 0%,#eff6ff 100%);border-color:#bfdbfe;transform:translateY(-1px)}.sampling-task-package-owner-tabs .ant-tabs-tab-active{z-index:4;background:linear-gradient(#eff6ff 0%,#fff 88%);border-color:#93c5fd #93c5fd #fff;margin-bottom:-1px;transform:translateY(-1px);box-shadow:0 -2px 10px #2563eb1f,0 1px 4px #0f172a0f}.sampling-task-package-owner-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb;font-weight:800}.sampling-task-package-owner-tabs .ant-tabs-ink-bar{display:none}.sampling-task-package-row-master{position:relative}.sampling-task-package-row-master:before{content:"";background:linear-gradient(#f59e0b,#fbbf24);border-radius:999px;width:4px;position:absolute;inset:12px auto 12px -20px}.sampling-task-package-row-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sampling-task-package-row-title{color:#0f172a;flex-wrap:wrap;align-items:center;gap:6px;font-size:16px;font-weight:700;line-height:1.35;display:flex}.sampling-task-package-row-title-text{min-width:0}.sampling-task-package-dispatcher-pill{color:#2563eb;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#eff6fffa,#dbeafead);border:1px solid #2563eb2e;border-radius:999px;align-items:center;max-width:180px;height:22px;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffffdb}.sampling-task-package-row-subtitle{color:#64748b;margin-top:4px;font-size:13px}.sampling-task-package-meta-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;margin-top:14px;display:grid}.sampling-task-package-meta-item--leader{grid-column:1}.sampling-task-package-meta-item--samplers{grid-column:2/6}.sampling-task-package-meta-item--samplers .sampling-task-package-meta-value{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sampling-task-package-dispatch-summary{background:linear-gradient(#f8fbff 0%,#f3f7fc 100%);border:1px solid #dbe7f5;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px;margin-bottom:16px;padding:10px 12px;display:grid}.sampling-task-package-dispatch-summary-item{flex-direction:column;gap:3px;min-width:0;display:flex}.sampling-task-package-dispatch-summary-label{color:#64748b;letter-spacing:.04em;font-size:11px;font-weight:700}.sampling-task-package-dispatch-summary-value{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.45;overflow:hidden}.sampling-task-package-accept-director-dispatch.ant-btn{color:#fff;background:#0f172a;border-color:#0f172a;font-weight:800;box-shadow:0 10px 20px #0f172a33}.sampling-task-package-accept-director-dispatch.ant-btn:not(:disabled):hover,.sampling-task-package-accept-director-dispatch.ant-btn:not(:disabled):focus{color:#fff;background:#1e293b;border-color:#1e293b}.attachment-list{flex-direction:column;display:flex}.attachment-list-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;display:flex}.attachment-list-item:last-child{border-bottom:none}.attachment-list-item-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sampling-task-package-meta-item,.sampling-task-package-summary-item{flex-direction:column;gap:6px;min-width:0;display:flex}.sampling-task-package-meta-label{color:#64748b;letter-spacing:.04em;font-size:12px;font-weight:700}.sampling-task-package-meta-value,.sampling-task-package-summary-value{color:#1e293b;word-break:break-word;font-size:14px;line-height:1.6}.sampling-task-package-stage-pill.ant-btn{white-space:nowrap;color:#2563eb;background:linear-gradient(#eff6fff2,#dbeafebf);border:none;border-radius:999px;justify-content:center;align-items:center;min-width:132px;min-height:28px;padding:0 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514,0 4px 8px #222a350d}.sampling-task-package-stage-pill.ant-btn:hover,.sampling-task-package-stage-pill.ant-btn:focus{color:#1d4ed8;background:linear-gradient(#eff6ff,#dbeafed1);box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #2563eb24,0 6px 12px #2563eb14}.coc-hd-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.coc-hd-toolbar-left{align-items:center;gap:12px;display:flex}.coc-hd-toolbar-title{color:#0f172a;font-size:15px;font-weight:700}.coc-hd-qty-badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:3px 12px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.coc-hd-qty-badge--brand{color:#8a2c8e;background:#8a2c8e14;border:1px solid #8a2c8e2e}.coc-hd-qty-badge--neutral{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.coc-hd-qty-badge-value{font-size:13px;font-weight:800}.coc-hd-toolbar-actions{align-items:center;gap:8px;display:flex}.coc-hd-ghost-btn.ant-btn{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;transition:border-color .18s,box-shadow .18s,color .18s;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a350f,0 2px 4px #222a350a}.coc-hd-ghost-btn.ant-btn:hover,.coc-hd-ghost-btn.ant-btn:focus{color:#0f172a;border-color:#cbd5e1;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a351a,0 4px 8px #222a350f}.coc-hd-save-btn.ant-btn{color:#fff;background:#8a2c8e;border:none;border-radius:8px;font-size:13px;font-weight:700;transition:opacity .18s,box-shadow .18s;box-shadow:0 1px 5px -4px #8a2c8eb3,inset 0 2px #ffffff26,0 4px 8px #8a2c8e14}.coc-hd-save-btn.ant-btn:hover,.coc-hd-save-btn.ant-btn:focus{color:#fff;opacity:.85;background:#8a2c8e}.coc-hd-save-btn.ant-btn:disabled,.coc-hd-save-btn.ant-btn.ant-btn-disabled{color:#fff;opacity:.7;background:#d1b2d3}.coc-hd-rows{flex-direction:column;gap:14px;margin-top:14px;display:flex}.coc-hd-row{background:#fff;border:1px solid #0000;border-radius:14px;padding:16px 18px;transition:box-shadow .18s,border-color .18s;position:relative;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3512,0 3px 8px #222a350a}.coc-hd-row:hover{box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a351a,0 6px 14px #222a350f}.coc-hd-row-label{color:#475569;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;border-radius:6px;align-items:center;gap:4px;margin-bottom:12px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.coc-hd-row-top,.coc-hd-row-bottom{align-items:end;gap:12px;display:grid}.coc-hd-row-top{grid-template-columns:minmax(0,170px) minmax(0,1fr)}.coc-hd-row-bottom{grid-template-columns:110px 140px minmax(0,1fr) auto;margin-top:12px}.coc-hd-field{min-width:0}.coc-hd-field-label{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:600}.coc-hd-field .ant-input,.coc-hd-field .ant-input-number,.coc-hd-field .ant-select{width:100%}.coc-hd-row .ant-input,.coc-hd-row .ant-input-number,.coc-hd-row .ant-select-selector{min-width:0}.coc-hd-delete.ant-btn{align-self:end}.coc-hd-category-pill{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.coc-hd-empty{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.coc-hd-empty-title{color:#0f172a;font-size:15px;font-weight:700}.coc-hd-empty-desc{color:#64748b;max-width:360px;font-size:13px;line-height:1.6}.coc-hd-empty-cta.ant-btn{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:4px;font-size:13px;font-weight:600;transition:border-color .18s,box-shadow .18s,color .18s;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a350f,0 2px 4px #222a350a}.coc-hd-empty-cta.ant-btn:hover{color:#0f172a;border-color:#cbd5e1;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a351a,0 4px 8px #222a350f}.coc-hd-help{color:#64748b;margin-top:10px;font-size:12px;line-height:1.6}.coc-hd-modal .section-card{border:1px solid #0000;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3512,0 3px 8px #222a350a}.coc-hd-modal .ant-modal-content{border-radius:16px;overflow:hidden}.coc-hd-modal-header{justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 16px;display:flex}.coc-hd-modal-header-title{color:#0f172a;font-size:17px;font-weight:700}.coc-hd-modal-header-sub{color:#64748b;margin-top:2px;font-size:13px}.coc-hd-modal-header-code{color:#475569;letter-spacing:.04em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.coc-hd-readonly-rows{flex-direction:column;gap:10px;display:flex}.coc-hd-readonly-row{background:#fff;border:1px solid #0000;border-radius:14px;padding:16px 18px;transition:box-shadow .18s;position:relative;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3512,0 3px 8px #222a350a}.coc-hd-readonly-row:hover{box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a351a,0 6px 14px #222a350f}.coc-hd-readonly-row-fields{grid-template-columns:1.4fr .6fr 1fr 1fr;align-items:center;gap:12px;display:grid}.coc-hd-readonly-field{min-width:0}.coc-hd-readonly-field-label{color:#64748b;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.coc-hd-readonly-field-value{color:#1e293b;font-size:13px}@media (width<=900px){.coc-hd-row-bottom{grid-template-columns:110px minmax(0,1fr)}.coc-hd-field--note{grid-column:1/-1}.coc-hd-delete.ant-btn{justify-self:start}.coc-hd-readonly-row-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.coc-hd-modal-header{flex-direction:column;align-items:flex-start}}@media (width<=640px){.coc-hd-row-top,.coc-hd-row-bottom{grid-template-columns:1fr}.coc-hd-delete.ant-btn{width:fit-content}.coc-hd-readonly-row-fields{grid-template-columns:1fr}.coc-hd-toolbar{flex-direction:column;align-items:flex-start}.coc-hd-modal-header{padding:16px 18px 12px}}.sampling-task-assignment-row{grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr) auto auto;align-items:center;gap:12px;display:grid}.sampling-task-assignment-field{min-width:0}.sampling-task-assignment-action{flex-shrink:0}@media (width<=1200px){.sampling-task-package-meta-grid,.sampling-task-package-dispatch-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}}@media (width<=960px){.sampling-task-assignment-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.sampling-task-package-meta-grid,.sampling-task-package-dispatch-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.sampling-task-package-list .ant-list-item{flex-direction:column}.sampling-task-package-list .ant-list-item-extra{align-self:flex-start;margin-inline-start:0}}@media (width>=721px) and (width<=768px){.app-content{padding:18px}.sampling-task-package-meta-grid,.sampling-task-package-summary-grid,.sampling-task-package-dispatch-summary,.sampling-task-assignment-row{grid-template-columns:minmax(0,1fr)}.sampling-task-package-row-master:before{inset:0 auto 0 -20px}}.task-package-photo-panel .ant-card-body{padding-top:14px}.task-package-photo-card{background:#fff;border:1px solid #94a3b847;border-radius:14px;height:100%;overflow:hidden;box-shadow:0 8px 18px #0f172a0d}.task-package-photo-card--compact{box-shadow:0 6px 14px #0f172a0b}.task-package-photo-thumb-frame{background:linear-gradient(135deg,#f1f5f9f5,#e2e8f0b8),repeating-linear-gradient(45deg,#94a3b81a 0 8px,#0000 8px 16px);place-items:center;width:100%;height:160px;display:grid}.task-package-photo-thumb{object-fit:cover;width:100%;height:160px}.task-package-photo-card--compact .task-package-photo-thumb-frame,.task-package-photo-card--compact .task-package-photo-thumb{height:118px}.task-package-photo-thumb-fallback{color:#64748b;font-size:12px}.task-package-photo-meta{color:#475569;flex-direction:column;gap:6px;padding:10px 12px 12px;font-size:12px;display:flex}.task-package-photo-card--compact .task-package-photo-meta{gap:5px;padding:8px 10px 10px}.task-package-photo-meta strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.status-badge{white-space:nowrap;letter-spacing:.02em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:56px;min-height:28px;padding:0 14px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.status-badge-compact{letter-spacing:0;white-space:nowrap;flex-shrink:0;justify-content:center;min-width:48px;min-height:22px;padding:0 10px;font-size:11px;font-weight:500;line-height:1}.status-badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-badge-compact .status-badge-dot{width:5px;height:5px}.toolbar-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar-label{color:#475569;font-size:13px;font-weight:600}.section-intro{color:#64748b;margin:0 0 14px;font-size:13px;line-height:1.6}.detail-hero{background:linear-gradient(#fffffffa,#f8fafcfa);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.detail-hero-title{color:#0f172a;margin:0;font-size:20px;font-weight:700}.project-workspace-page .page-header{background:radial-gradient(circle at 82% 18%,#22d3ee1f,#0000 28%),linear-gradient(135deg,#fffffffc,#f8fbfff5);border:1px solid #bfdbfee0;padding:30px 32px;position:relative;overflow:hidden}.project-workspace-page .page-header:before{pointer-events:none;content:"";background-image:linear-gradient(#3b82f60b 1px,#0000 1px),linear-gradient(90deg,#3b82f60b 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 72%);mask-image:linear-gradient(90deg,#000,#0000 72%)}.project-workspace-page .page-header>*{z-index:1;position:relative}.project-workspace-page .page-title{letter-spacing:-.04em}.project-workspace-page .page-subtitle{max-width:720px}.project-workspace-summary-card{background:linear-gradient(#fffffffa,#f8fafcfa);border-color:#bfdbfec7;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}.project-workspace-summary-card:before{content:"";background:linear-gradient(90deg,#2563eb,#22d3ee);width:100%;height:3px;position:absolute;top:0;left:0}.project-workspace-summary-card:after{content:"";background:#2563eb0f;border-radius:999px;width:110px;height:110px;position:absolute;bottom:-34px;right:-28px}.project-workspace-summary-card:hover{border-color:#60a5faf2;transform:translateY(-2px);box-shadow:0 18px 36px #0f172a14}.project-workspace-summary-card .summary-label,.project-workspace-summary-card .summary-value,.project-workspace-summary-card .summary-note{z-index:1;position:relative}.project-workspace-summary-card .summary-value{letter-spacing:-.045em}.project-workspace-summary-intake:before{background:linear-gradient(90deg,#f59e0b,#facc15)}.project-workspace-summary-lab:before{background:linear-gradient(90deg,#0891b2,#22d3ee)}.project-workspace-summary-published:before{background:linear-gradient(90deg,#16a34a,#86efac)}.project-workspace-filter-card,.project-workspace-list-card{background:linear-gradient(#fffffffa,#fafcfffa)}.project-workspace-toolbar{align-items:stretch;gap:14px}.project-workspace-search{max-width:420px}.project-workspace-search.ant-input-affix-wrapper,.project-workspace-filter .ant-select-selector{background:#f8fafcb8;border-color:#cbd5e1db;border-radius:12px;transition:border-color .2s,box-shadow .2s,background .2s}.project-workspace-search.ant-input-affix-wrapper:hover,.project-workspace-filter .ant-select-selector:hover{background:#fff;border-color:#60a5faf2}.project-workspace-filter{min-width:180px}.project-workspace-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.project-workspace-month-list{flex-direction:column;gap:20px;display:flex}.project-workspace-month-section{flex-direction:column;gap:14px;display:flex}.project-workspace-month-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.project-workspace-month-title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.project-workspace-month-count{color:#64748b;font-size:12px;font-weight:600}.project-workspace-card{text-align:left;cursor:pointer;background:radial-gradient(circle at 88% 8%,#3b82f617,#0000 24%),linear-gradient(#fff,#fbfdff);border:1px solid #e2e8f0e0;border-radius:18px;width:100%;padding:22px;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a350f,0 10px 20px #222a350f}.project-workspace-card-shell{position:relative}.project-workspace-all-samplers-control{cursor:default;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.project-workspace-all-samplers-label{color:#64748b;letter-spacing:.02em;white-space:nowrap;font-size:12px;font-weight:600}.project-workspace-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#22d3ee00);width:100%;height:3px;position:absolute;top:0;left:0}.project-workspace-card:hover{border-color:#93c5fdf2;transform:translateY(-3px);box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #2563eb24,0 18px 36px #0f172a1f}.project-management-row-clickable{cursor:pointer}.project-management-row-clickable:hover>td{background:#f8fbff!important}.project-workspace-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-workspace-title-area{flex:1;min-width:0}.project-workspace-status-wrap{flex-shrink:0}.project-workspace-status-wrap .status-badge{min-height:24px;box-shadow:none;padding:0 10px;font-size:11px;font-weight:600}.project-workspace-code{color:#36f;letter-spacing:.09em;text-transform:uppercase;font-size:14px;font-weight:800}.project-workspace-name{color:#07132b;word-break:keep-all;overflow-wrap:break-word;margin-top:10px;font-size:15px;font-weight:800;line-height:1.35}.project-workspace-task-counts-inline{color:#64748b;letter-spacing:.02em;white-space:nowrap;grid-column:2;max-width:100%;margin-top:0;padding:0;font-size:11px;font-weight:700;line-height:1.35;display:contents}.project-workspace-task-counts-label{color:#64748b;letter-spacing:.06em;grid-area:1/2;place-self:end;font-size:11px;font-weight:800}.project-workspace-task-counts-value,.project-workspace-task-count{grid-area:2/2;place-self:end;align-items:baseline;gap:5px;min-width:0;display:inline-flex}.project-workspace-task-count{white-space:nowrap}.project-workspace-task-count strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:850;line-height:1}.project-workspace-task-counts-divider{color:#94a3b8;font-weight:800}.project-workspace-stats{background:#f8fafcd6;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;margin-top:10px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #dbeafee6}.project-workspace-stat-item{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:6px 16px;min-width:0;display:grid}.project-workspace-stat-item>strong{color:#07132b;word-break:break-word;grid-area:2/1;margin-top:0;font-size:13px;font-weight:700;line-height:1.35;display:block}.project-workspace-stat-label{color:#64748b;letter-spacing:.02em;white-space:nowrap;grid-area:1/1;font-size:12px;font-weight:600}.project-workspace-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:14px;display:flex}.project-workspace-progress-copy{color:#898989;font-size:12px;line-height:1.6}.project-workspace-action-link{color:#2563eb;background:#2563eb14;border:1px solid #2563eb3d;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;min-height:32px;padding:0 12px;font-size:13px;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffffc7}.project-workspace-pagination{margin-top:18px}.project-workspace-risk-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}@media (width<=768px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-workspace-search,.project-workspace-filter{width:100%;max-width:none}.project-workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.project-workspace-card-footer{flex-direction:column;align-items:flex-start}.project-detail-layout{flex-direction:column}.project-risk-panel{width:100%}.project-detail-summary-grid,.project-review-grid,.project-batch-row-metrics,.project-rail-stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.project-batch-row,.project-detail-hero-main{flex-direction:column;align-items:stretch}.project-flow-tabs>.ant-tabs-nav{border-radius:18px;padding:0}.project-flow-tabs>.ant-tabs-nav .ant-tabs-nav-wrap{overflow:auto hidden}.project-flow-tab-label{min-width:210px;padding:11px 14px}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:0}.project-flow-tab-icon{width:34px;height:34px}}@media (width<=560px){.project-workspace-stats{grid-template-columns:1fr}}.detail-hero-meta{color:#64748b;margin-top:8px;font-size:13px}.detail-hero-meta-value{font-weight:700}.detail-hero-meta-value--dispatcher{color:#0e7490;background:linear-gradient(#ecfefff5,#cffafead);border:0;border-radius:8px;align-items:center;height:22px;padding:0 8px;font-size:12px;line-height:22px;display:inline-flex;box-shadow:inset 0 1px #ffffffdb}.detail-hero-meta--rejection{color:#991b1b;text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,100%);overflow:hidden}.detail-hero-meta--rejection strong{color:#b91c1c}@media (width<=992px){.sampling-task-detail-flow-grid{grid-template-columns:1fr}}.sampling-task-detail-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.sampling-task-detail-flow-card{height:100%}.sampling-task-detail-left-stack{flex-direction:column;gap:18px;min-height:100%;display:flex}.sampling-task-detail-left-stack>.section-card{margin-bottom:0}.sampling-task-detail-flow-card--compact{height:auto}.sampling-task-detail-flow-card--compact .ant-card-body{min-height:0}.sampling-task-detail-attachments-card{flex:1}.sampling-task-detail-attachments-card .ant-card-body{flex-direction:column;min-height:168px;display:flex}.sampling-task-detail-attachments-card .ant-list-item{align-items:flex-start;padding-block:18px}.sampling-task-detail-attachments-card .ant-list-item-meta{align-items:flex-start;width:100%}.sampling-task-detail-attachments-card .ant-list-item-meta-content{width:100%}.sampling-task-detail-attachments-card .ant-list-item-meta-title{margin-bottom:6px}.sampling-record-folder-upload-button{color:#1e3a8a;background:#f8fbff;border-color:#dbeafe}.sampling-record-folder-upload-button:hover,.sampling-record-folder-upload-button:focus-visible{color:#1d4ed8!important;background:#eff6ff!important;border-color:#bfdbfe!important}.sampling-record-folder-card{background:#f8fbff;border-color:#dbeafe;overflow:hidden}.sampling-record-folder-card>.ant-card-head{background:#eff6ff;border-bottom:1px solid #dbeafe}.sampling-record-folder-card>.ant-card-body{background:linear-gradient(#f8fbff 0%,#fff 100%)}.sampling-record-folder-upload-notice{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 14px;display:flex}.sampling-record-folder-upload-notice>div:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.sampling-record-folder-upload-notice strong{color:#92400e;font-weight:650}.sampling-record-folder-upload-notice span{color:#78350f;font-size:13px}.sampling-record-folder-upload-notice--failed{background:#fef2f2;border-color:#fecaca}.sampling-record-folder-upload-notice--failed strong{color:#991b1b}.sampling-record-folder-upload-notice--failed span{color:#7f1d1d}.sampling-record-folder-upload-card{transition:background-color .16s,border-color .16s;position:relative}.sampling-record-folder-upload-card--uploading{background:#f8fbff;border-color:#bfdbfe}.sampling-record-folder-upload-card--uploading>.ant-card-body{background:linear-gradient(#f8fbff 0%,#fff 100%)}.sampling-record-folder-stats{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.sampling-record-folder-stats span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;padding:2px 10px;display:inline-flex}.sampling-record-folder-stats-uploading{color:#1d4ed8;font-weight:650;background:#eff6ff!important;border-color:#bfdbfe!important}.sampling-record-folder-issue-table .ant-table{font-size:13px}.sampling-record-folder-issue-table .ant-table-cell{padding-block:8px}.sampling-record-folder-issue-table-path{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:360px;display:inline-block;overflow:hidden}.sampling-record-folder-preflight{flex-direction:column;gap:10px;display:flex}.sampling-record-folder-preflight p{color:#334155;margin:0}.sampling-record-folder-issue-list{flex-direction:column;gap:8px;max-height:280px;display:flex;overflow:auto}.sampling-record-folder-issue-row{background:#fff7f7;border:1px solid #fee2e2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.sampling-record-folder-issue-row span{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.sampling-record-folder-issue-row strong{color:#b91c1c;font-size:13px;font-weight:650}.sampling-task-attachment-row{align-items:center;gap:12px;width:100%;display:flex}.sampling-task-attachment-identity{flex:1;min-width:0}.sampling-task-attachment-filename{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.sampling-task-attachment-time{color:#64748b;font-size:13px;line-height:1.25}.sampling-task-attachment-meta-row{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.sampling-task-attachment-actions{flex:none;font-size:13px}.sampling-task-attachment-actions .ant-btn-link{height:24px;padding:0 4px;font-size:13px;font-weight:650}.sampling-task-attachment-action-split{background:#94a3b847;width:1px;height:16px;display:inline-block}.sampling-task-attachment-remark-control{filter:drop-shadow(0 6px 12px #2563eb14);flex:none;width:min(240px,36vw)}.sampling-task-attachment-remark-control .ant-input{color:#0f172a;border-color:#2563eb57;border-radius:14px 0 0 14px;height:28px;font-size:13px}.sampling-task-attachment-remark-control .ant-input::placeholder{color:#94a3b8;font-size:13px}.sampling-task-attachment-remark-control .ant-btn{background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%);border-radius:0 14px 14px 0;height:28px;padding-inline:13px;font-size:13px;font-weight:650;box-shadow:inset 0 1px #fff3}.attachment-remark-time-picker{width:34px;min-width:34px;padding-inline:7px}.attachment-remark-time-picker .ant-picker-input>input{width:0;min-width:0;padding:0}.attachment-remark-time-picker .ant-picker-suffix{margin-inline-start:0}.sampling-task-attachment-time-picker{border-color:#2563eb57;border-radius:0;height:28px}.sampling-task-attachment-time-picker .ant-picker-suffix{color:#2563eb}.sampling-task-attachment-remark-control .ant-input:disabled{filter:grayscale(.35);opacity:.68}.sampling-task-attachment-remark-control .ant-btn:disabled{box-shadow:none;color:#94a3b8;filter:grayscale(.12);opacity:.86;background:#f3f4f6;border-color:#d1d5db}.lab-batch-attachment-row{align-items:center;gap:10px;min-width:0;display:flex}.lab-batch-attachment-filename{color:#0f172a;min-width:0;font-weight:650}.lab-batch-attachment-remark-control{flex:none;align-items:center;gap:8px;width:min(270px,32vw)}.lab-batch-attachment-remark-control .ant-input{height:22px;box-shadow:none;color:#242424;background:0 0;border:0;border-bottom:1px solid #8b5cf66b;border-radius:0;padding:0 2px 2px;font-size:12px}.lab-batch-attachment-remark-control .ant-input:focus,.lab-batch-attachment-remark-control .ant-input-focused{border-bottom-color:#8b5cf6;box-shadow:0 1px #8b5cf661}.lab-batch-attachment-remark-control .ant-input::placeholder{color:#b6b6c6;font-size:12px}.lab-batch-attachment-remark-control .ant-btn{color:#8b5cf6;background:#8b5cf61a;border-color:#8b5cf638;border-radius:9999px;min-width:46px;height:22px;padding-inline:11px;font-size:12px;font-weight:650;box-shadow:inset 0 1px #ffffffa3,0 3px 7px #8b5cf61a}.lab-batch-attachment-time-picker{background:#8b5cf614;border-color:#8b5cf638;border-radius:9999px;width:28px;min-width:28px;height:22px;padding-inline:5px}.lab-batch-attachment-time-picker .ant-picker-suffix{color:#8b5cf6}.lab-batch-attachment-remark-control .ant-btn:not(:disabled):hover{color:#7c3aed;background:#8b5cf629;border-color:#8b5cf657}.lab-batch-attachment-remark-readonly{box-shadow:none;color:#334155;border:0;font-size:12px;text-decoration:none}.lead-dispatch-workbench .ant-card-body{flex-direction:column;gap:18px;display:flex}.lead-dispatch-workbench-hint{color:#64748b;margin-top:-4px;font-size:13px;line-height:1.6}.lead-dispatch-subsection{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.lead-dispatch-subsection--members{background:linear-gradient(#fff 0%,#f8fafc 100%)}.lead-dispatch-subsection-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.lead-dispatch-subsection-title{color:#0f172a;font-size:15px;font-weight:700}.lead-section-title-row{align-items:baseline;gap:10px;display:inline-flex}.lead-section-title-note{color:#64748b;font-size:13px;font-weight:500}.lead-workflow-steps{align-items:center;gap:12px;width:fit-content;margin:-4px 0 -2px 32px;padding:4px 0;display:inline-flex}.lead-workflow-step{white-space:nowrap;align-items:center;gap:8px;min-height:26px;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.lead-workflow-step-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:15px;font-weight:900;line-height:1;display:inline-flex}.lead-workflow-step--assign{color:#16a34a}.lead-workflow-step--assign .lead-workflow-step-icon{background:#22c55e}.lead-workflow-step--summary{color:#0d9488}.lead-workflow-step--summary .lead-workflow-step-icon{background:#14b8a6}.lead-workflow-step--submit{color:#2563eb}.lead-workflow-step--submit .lead-workflow-step-icon{background:#3b82f6}.lead-workflow-line{background:linear-gradient(90deg,#22c55e8c,#2563eb8c);border-radius:1px;width:42px;height:2px}@media (width<=760px){.lead-workflow-steps{flex-wrap:wrap;width:auto;margin-left:0}}.lead-member-secondary-actions{background:#fff;border-radius:10px;flex-direction:column;gap:4px;min-width:132px;padding:6px;display:flex;box-shadow:0 10px 28px #13131629,0 0 0 1px #222a351a}.lead-member-secondary-actions .ant-btn{justify-content:flex-start}.assignment-level-cell{flex-direction:column;align-items:flex-start;gap:8px;min-height:42px;padding-right:120px;display:flex;position:relative}.assignment-inline-actions{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;display:flex}.assignment-change-controls-anchor{position:absolute;top:50%;right:0;transform:translateY(-50%)}.assignment-change-reason-note-field{margin-bottom:24px}.assignment-assignee-name{color:#0f172a;overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.5}.assignment-change-button.ant-btn{letter-spacing:.1px;border:0;border-radius:8px;width:116px;height:auto;min-height:28px;padding:6px;font-size:12px;font-weight:700;line-height:16px;box-shadow:0 1px 5px -4px #1313166b,0 0 0 1px #222a351a,0 4px 8px #222a350f,inset 0 2px #fff3}.assignment-change-button.ant-btn:hover{opacity:.82}.lead-member-action-buttons{flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.assignment-change-button--withdraw.ant-btn{color:#fff;background:#64748b}.assignment-change-button--summary.ant-btn{color:#fff;background:#2563eb}.assignment-change-button--withdraw.ant-btn:hover,.assignment-change-button--withdraw.ant-btn:focus{color:#fff!important;background:#475569!important}.assignment-change-button--summary.ant-btn:hover,.assignment-change-button--summary.ant-btn:focus{color:#fff!important;background:#1697b7!important}.assignment-change-button--summary-locked.ant-btn[disabled]{opacity:1;color:#fff!important;background:#5fb3c8!important}.lead-submission-number-cell{flex-direction:column;align-items:flex-start;display:flex}.lead-submission-number-line{white-space:nowrap;align-items:center;gap:8px;display:flex}.lead-draft-review-select{flex:0 0 120px}.lead-draft-review-select .ant-select-selector{font-size:12px;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514;background:#fff!important;border-radius:9999px!important;height:26px!important;min-height:26px!important}.lead-draft-review-select .ant-select-selection-item{color:#242424;font-size:12px;font-weight:600}.lead-submission-comment-row{width:100%}.lead-submission-comment-row .ant-input{border-radius:8px}.lead-submission-table .ant-table-cell-fix-right{background:#fff;box-shadow:-12px 0 18px #0f172a14}.lead-submission-table .ant-table-tbody>tr:hover>.ant-table-cell-fix-right{background:#f8fbff}.lead-submission-table .ant-table-cell-fix-right-first:after{box-shadow:inset -10px 0 8px -8px #0f172a2e}.lead-submission-attachment-item{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:16px;display:flex}.lead-submission-attachment-item>div:first-child{flex:360px;min-width:0;max-width:100%}.lead-submission-attachment-actions{flex:none}.lead-submission-expanded-content{padding-left:68px}.sampling-task-detail-flow-card>.section-card{height:100%}.sampling-task-detail-flow-card .ant-card-body{flex-direction:column;min-height:180px;display:flex}.sampling-task-detail-flow-card .ant-timeline{margin-bottom:0}.sampling-task-detail-flow-card .ant-timeline-item{min-height:34px;padding-bottom:6px}.sampling-task-detail-flow-card .ant-timeline-item-last{padding-bottom:0}.sampling-task-detail-flow-card .ant-timeline-item-content{min-height:28px;margin-inline-start:26px;top:-2px}.sampling-task-detail-flow-card .ant-timeline-item-head{width:10px;height:10px;top:5px}.sampling-task-detail-flow-card .ant-timeline-item-tail{height:calc(100% - 15px);top:15px}.sampling-task-detail-timeline-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.sampling-task-detail-timeline-label{color:#0f172a;font-weight:500;line-height:1.2}.sampling-task-detail-timeline-time{color:#475569;letter-spacing:.01em;flex-direction:column;align-items:flex-start;min-width:72px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.1;display:inline-flex}.sampling-task-detail-flow-actions{border-top:1px solid #94a3b833;margin-top:auto;padding-top:18px}@media (width<=992px){.sampling-task-detail-flow-grid{grid-template-columns:1fr}.sampling-task-detail-left-stack{min-height:0}.sampling-task-attachment-row{flex-wrap:wrap;gap:8px;width:100%}.sampling-task-attachment-remark-control{width:100%}}.sampling-task-rejection-inline{color:#991b1b;text-overflow:ellipsis;white-space:nowrap;background:#fef2f2;border:1px solid #ef444438;border-radius:999px;align-items:center;gap:4px;max-width:min(420px,58vw);padding:6px 12px;font-size:13px;line-height:1.35;display:inline-flex;overflow:hidden}.sampling-task-rejection-inline strong{color:#b91c1c;flex:none}.project-detail-layout,.report-detail-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.project-detail-main{flex:min(100%,640px);min-width:0}.project-flow-tabs{margin-top:26px;position:relative}.project-flow-tabs:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#2563eb47,#0f9f8f38,#e2e8f000);height:1px;position:absolute;bottom:0;left:0;right:0}.project-flow-tabs>.ant-tabs-nav{z-index:2;box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:-1px;padding:0;position:relative}.project-flow-tabs>.ant-tabs-nav:before{border-bottom:0}.project-flow-tabs>.ant-tabs-nav .ant-tabs-nav-wrap{scrollbar-width:thin;overflow:auto hidden}.project-flow-tabs>.ant-tabs-nav .ant-tabs-nav-list{align-items:flex-end;gap:0;min-width:max-content;padding-top:0}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab{z-index:1;filter:saturate(.86)brightness(.98);border-radius:0;margin:0;padding:0;transition:filter .18s,z-index .18s;transform:none}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:0}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab:hover{transform:none}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-btn{color:inherit}.project-flow-tabs>.ant-tabs-nav .ant-tabs-ink-bar{display:none}.project-flow-tabs>.ant-tabs-content-holder{z-index:1;background:linear-gradient(#eff6ff61,#f8fafc00 96px),linear-gradient(90deg,#2563eb06,#0f9f8f06,#0000);border-top:1px solid #2563eb38;border-radius:0;padding-top:18px;position:relative;box-shadow:inset 0 1px #ffffffe6}.project-flow-tab-label{clip-path:polygon(0 0,calc(100% - 30px) 0,100% 100%,0 100%);background:linear-gradient(135deg,#fffffffa,#f1f5f9f0);border:1px solid #94a3b847;border-bottom-color:#2563eb29;border-radius:0;align-items:center;gap:12px;min-width:276px;height:72px;padding:13px 34px 13px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px #0f172a14}.project-flow-tab-label:before{content:"";background:#94a3b86b;width:6px;position:absolute;inset:0 auto 0 0}.project-flow-tab-label:after{content:"";background:#94a3b857;border-radius:0;height:3px;position:absolute;inset:auto 32px 0 22px}.project-flow-tab-copy:after{content:"";transform-origin:50%;pointer-events:none;background:linear-gradient(#ffffffdb,#94a3b86b,#ffffffc7);width:1px;height:98px;position:absolute;top:-12px;right:13px;transform:rotate(-23deg)}.project-flow-tab-icon{color:#2563eb;background:#2563eb1a;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:inline-flex;box-shadow:inset 0 0 0 1px #2563eb1f}.project-flow-tab-copy{text-align:left;flex-direction:column;gap:3px;display:flex}.project-flow-tab-title{color:#0f172a;letter-spacing:.01em;font-size:15px;font-weight:800}.project-flow-tab-meta{color:#64748b;font-size:12px;font-weight:600}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active{z-index:6;filter:saturate();transform:none}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label{background:linear-gradient(135deg,#2563eb21,#0ea5e914),#fff;border-color:#2563eb47 #2563eb47 #fff;box-shadow:0 18px 34px #2563eb29,inset 0 1px #fff}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label:before{background:linear-gradient(#2563eb,#06b6d4)}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label:after{background:linear-gradient(90deg,#2563eb,#06b6d4)}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-title{color:#1d4ed8}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 10px 24px #2563eb40}.project-flow-tab-label-sampling .project-flow-tab-icon{color:#0f9f8f;background:#0f9f8f1c;box-shadow:inset 0 0 0 1px #0f9f8f24}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label-sampling{background:linear-gradient(135deg,#0f9f8f21,#2563eb14),#fff;border-color:#0f9f8f4d #0f9f8f4d #fff;box-shadow:0 18px 34px #0f9f8f29,inset 0 1px #fff}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label-sampling:before{background:linear-gradient(#0f9f8f,#2563eb)}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label-sampling:after{background:linear-gradient(90deg,#0f9f8f,#2563eb)}.project-flow-tabs>.ant-tabs-nav .ant-tabs-tab-active .project-flow-tab-label-sampling .project-flow-tab-icon{background:linear-gradient(135deg,#0f9f8f,#2563eb)}.project-detail-hero{margin-bottom:18px}.project-detail-hero-main{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.project-detail-hero-topline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-detail-hero-code{color:#2563eb;letter-spacing:.08em;font-size:12px;font-weight:800}.project-detail-tab-stack{flex-direction:column;gap:16px;display:flex}.project-detail-section-lead{background:linear-gradient(#eff6ffb8,#f8fafceb);border:1px solid #2563eb1f;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.project-detail-section-title{color:#0f172a;font-size:15px;font-weight:700}.project-detail-section-text{color:#475569;margin-top:6px;font-size:13px;line-height:1.6}.project-batch-timeline{flex-direction:column;gap:14px;display:flex}.project-batch-row{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.project-batch-row-main{flex:1;min-width:0}.project-batch-row-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-batch-row-title{color:#0f172a;font-size:16px;font-weight:700}.project-batch-row-subtitle{color:#64748b;flex-wrap:wrap;gap:8px 16px;margin-top:6px;font-size:13px;display:flex}.project-batch-row-metrics{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.project-rail-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.project-batch-row-metric-inline{align-items:baseline;gap:12px;display:flex}.project-batch-row-metric-inline .project-batch-row-label{margin-bottom:0}.project-batch-row-label{color:#64748b;margin-bottom:6px;font-size:12px;display:block}.project-batch-row-metrics strong,.project-rail-stat-grid strong{color:#0f172a;font-size:14px;font-weight:700}.project-risk-panel,.report-detail-rail{flex:320px;min-width:min(100%,280px);max-width:360px}.project-risk-note-list{flex-direction:column;gap:10px;display:flex}.project-risk-note{color:#1e3a8a;background:#2563eb0f;border:1px solid #2563eb1f;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6}.project-risk-note-neutral{color:#475569;background:#f8fafc;border-color:#e2e8f0}.sampling-project-detail-layout{align-items:flex-start}.sampling-project-hero{background:linear-gradient(135deg,#eff6fff5,#ecfdf5db),radial-gradient(circle at 88% 12%,#2563eb24,#0000 26%);border-color:#0f9f8f33;position:relative;overflow:hidden}.sampling-project-hero:before{content:"";pointer-events:none;background-image:linear-gradient(#2563eb0e 1px,#0000 1px),linear-gradient(90deg,#0f9f8f0e 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.sampling-project-hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:28px;display:grid;position:relative}.sampling-project-title{color:#07132b;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word;margin:12px 0 6px;font-size:clamp(13px,1.5vw,19px);font-weight:900;line-height:1.28}.sampling-project-subtitle{color:#475569;font-size:14px}.sampling-project-stage-rail{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:24px;display:grid}.sampling-project-stage-node{color:#94a3b8;flex-direction:column;gap:8px;font-size:12px;font-weight:700;display:flex}.sampling-project-stage-node span{background:#dbeafe;border-radius:999px;height:6px}.sampling-project-stage-node-active{color:#0f766e}.sampling-project-stage-node-active span{background:linear-gradient(90deg,#2563eb,#0f9f8f);box-shadow:0 8px 18px #0f9f8f38}.sampling-project-hero-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;min-width:min(100%,280px);display:grid}.sampling-project-hero-stats>div{background:#ffffffc7;border:1px solid #2563eb24;border-radius:18px;padding:18px;box-shadow:0 16px 36px #0f172a14}.sampling-project-hero-stats span,.sampling-project-muted{color:#64748b;font-size:13px}.sampling-project-hero-stats strong{color:#0f172a;margin-top:6px;font-size:30px;font-weight:900;display:block}.sampling-project-section-lead{background:linear-gradient(135deg,#eff6ffbf,#f0fdfae0);border-color:#0f9f8f2e}.sampling-project-package-list,.sampling-project-task-list{flex-direction:column;gap:14px;display:flex}.sampling-project-package-card,.sampling-project-task-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-left-width:5px;border-radius:16px;gap:14px;padding:16px 18px;display:grid;box-shadow:0 10px 28px #0f172a0d}.sampling-project-package-team_lead_execution{border-left-color:#2563eb}.sampling-project-package-supervisor_direct_to_lab{border-left-color:#0f9f8f}.sampling-project-task-level1{background:linear-gradient(#fff,#f1f5f9);border-left-color:#94a3b8}.sampling-project-task-level2{border-left-color:#2563eb}.sampling-project-task-main{cursor:pointer}.sampling-project-card-title{color:#0f172a;font-size:16px;font-weight:800}.sampling-project-risk-panel{flex-direction:column;gap:16px;display:flex}.sampling-risk-info{background:#2563eb0f;border-color:#2563eb24}.sampling-risk-warning{color:#92400e;background:#f59e0b14;border-color:#f59e0b2e}.sampling-risk-danger{color:#991b1b;background:#ef444414;border-color:#ef44442e}@media (width<=1100px){.sampling-project-hero-grid{grid-template-columns:1fr}}@media (width<=720px){.sampling-project-stage-rail,.sampling-project-hero-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}}.project-report-rail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.project-signature-row{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.upload-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.upload-card{background:#f8fafc;border-radius:14px;padding:16px}.upload-card-title{color:#0f172a;margin:0 0 6px;font-size:15px;font-weight:700}.upload-card-text{color:#64748b;margin:0 0 14px;font-size:13px;line-height:1.6}.checklist-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:10px;box-shadow:0 1px 4px #2563eb0d,0 0 0 1px #e2e8f0d9}.checklist-title{color:#0f172a;margin-bottom:10px;font-size:15px;font-weight:700;display:block}.checklist-compact-list{flex-direction:column;gap:10px;display:flex}.checklist-group-collapse .ant-collapse-item,.checklist-group-collapse.ant-collapse{border-color:#e2e8f0;border-radius:14px;overflow:hidden}.checklist-group-collapse .ant-collapse-header{background:#f8fafc}.checklist-compact-row{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px #0f172a0a}.checklist-compact-row-main{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.checklist-compact-row-title{color:#0f172a;flex:1;min-width:0;font-size:14px;font-weight:700;line-height:1.6}.checklist-compact-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.checklist-compact-choice-group{flex-wrap:wrap;gap:14px;display:flex}.checklist-compact-choice-group .ant-radio-wrapper{margin-inline-end:0}.checklist-note-toggle{color:#2563eb;padding-inline:6px}.checklist-note-toggle.ant-btn:disabled{color:#94a3b8}.checklist-compact-row-note{border-top:1px dashed #dbe4f0;margin-top:12px;padding-top:12px}.readonly-check-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:10px;padding:12px 14px}.readonly-check-note{color:#64748b;margin-top:8px;padding-left:22px;font-size:13px;line-height:1.6}.form-footer{justify-content:flex-end;padding:18px 0 6px;display:flex}.login-shell{grid-template-columns:minmax(0,1.2fr) minmax(360px,420px);align-items:center;gap:32px;min-height:100vh;padding:40px;display:grid}.login-intro{padding:40px}.login-badge{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;background:#2563eb1f;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.login-title-lockup{align-items:center;gap:18px;margin:18px 0 0;display:flex}.login-title-logo{filter:drop-shadow(0 10px 16px #0f172a14);flex:none;width:clamp(58px,7vw,74px);height:auto}.login-title{color:#0f172a;max-width:520px;margin:0;font-size:46px;font-weight:800;line-height:1.06}.login-text{color:#475569;max-width:560px;margin-top:18px;font-size:16px;line-height:1.75}.login-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.login-point{background:#ffffffc7;border:1px solid #dbe7f5;border-radius:16px;padding:16px;box-shadow:0 1px 4px #2563eb0d}.login-point-title{color:#0f172a;margin:0 0 6px;font-size:15px;font-weight:700}.login-point-text{color:#64748b;margin:0;font-size:13px;line-height:1.6}.login-card.ant-card{background:#fffffff5;border:1px solid #dbe7f5;border-radius:24px;box-shadow:0 24px 48px #0f172a1a,0 8px 18px #2563eb1a}.login-card .ant-card-head{min-height:unset;border-bottom:none;padding:28px 28px 0}.login-card .ant-card-body{padding:18px 28px 28px}.login-card-title{color:#0f172a;text-align:left;font-size:22px;font-weight:700}.login-card-subtitle{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.6}@media (width<=992px){.login-shell{grid-template-columns:1fr;gap:18px;padding:24px}.login-intro{padding:0}.login-title{font-size:34px}.login-title-lockup{gap:12px}.login-title-logo{width:48px}.summary-grid,.upload-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}}.user-avatar{flex-shrink:0;display:block}.user-avatar--sm{width:28px;height:28px}.user-avatar--md{width:36px;height:36px}.user-avatar--lg{width:48px;height:48px}.user-identity{align-items:center;gap:10px;min-width:0;display:inline-flex}.user-identity--sm{gap:7px}.user-identity--lg{gap:12px}.user-identity-text{flex-direction:column;gap:1px;min-width:0;display:flex}.user-identity-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden}.user-identity--sm .user-identity-name{font-size:13px}.user-identity--lg .user-identity-name{font-size:16px}.user-identity-role{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;line-height:1.4;overflow:hidden}.task-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;transition:box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #2563eb0d,0 0 0 1px #e2e8f0d9}.task-card-interactive:hover{border-color:#93c5fd;box-shadow:0 4px 16px #2563eb1a,0 0 0 1px #93c5fd80}.task-card-bar{border-radius:14px 0 0 14px;flex-shrink:0;width:4px}.task-card-body{flex-direction:column;flex:1;gap:10px;min-width:0;padding:16px 18px;display:flex}.task-card-main{all:unset;text-align:left;flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}.task-card-main-clickable{cursor:pointer;border-radius:10px;outline:none}.task-card-main-clickable:focus-visible{box-shadow:0 0 0 3px #2563eb2e}.task-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-card-title-row{align-items:center;display:flex}.task-card-project{color:#0f172a;font-size:15px;font-weight:700}.task-card-meta{flex-wrap:wrap;gap:16px;display:flex}.task-card-meta-item{flex-direction:column;gap:2px;display:flex}.task-card-meta-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.task-card-meta-value{color:#334155;font-size:13px;font-weight:500}.task-card-extra{border-top:1px solid #f1f5f9;padding-top:10px}.task-card-action{justify-content:flex-end;padding-top:4px;display:flex}.step-flow{align-items:center;gap:0;display:flex}.step-flow-item{align-items:center;gap:6px;display:flex;position:relative}.step-flow-indicator{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.step-flow-dot{background:#fff;border:2px solid #cbd5e1;border-radius:50%;width:10px;height:10px;display:block}.step-flow-check{color:#22c55e;font-size:18px}.step-flow-label{color:#94a3b8;white-space:nowrap;font-size:13px;font-weight:600}.step-flow-connector{background:#e2e8f0;flex-shrink:0;width:32px;height:2px;margin:0 8px}.step-flow-current .step-flow-dot{background:#2563eb;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.step-flow-current .step-flow-label{color:#2563eb;font-weight:700}.step-flow-completed .step-flow-label{color:#22c55e}.step-flow-completed .step-flow-connector{background:#22c55e}.dispatch-panel{flex-direction:column;gap:16px;display:flex}.dispatch-panel-title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.dispatch-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;display:grid}.person-card{all:unset;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .18s,box-shadow .18s;display:flex}.person-card:hover{border-color:#93c5fd}.person-card-selected{background:#2563eb0a;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.person-card-avatar{color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex}.person-card-info{flex-direction:column;gap:1px;min-width:0;display:flex}.person-card-name{color:#0f172a;font-size:14px;font-weight:700}.person-card-role{color:#64748b;font-size:12px}.person-card-dept{color:#94a3b8;font-size:11px}.dispatch-panel-footer{justify-content:flex-end;padding-top:8px;display:flex}.dispatch-panel-extra{padding-top:4px}.dispatch-confirm-card{background:linear-gradient(#eff6ffd1,#f8fafcf5);border:1px solid #2563eb29;border-radius:16px;padding:16px 18px;box-shadow:0 10px 24px #2563eb14}.dispatch-confirm-card-title{color:#0f172a;font-size:15px;font-weight:700}.dispatch-confirm-card-intro{color:#475569;margin-top:4px;font-size:12px;line-height:1.6}.dispatch-confirm-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px;display:grid}.dispatch-confirm-item{background:#ffffffd6;border:1px solid #bfdbfeb3;border-radius:12px;padding:12px 14px}.dispatch-confirm-label{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.dispatch-confirm-value{color:#0f172a;word-break:break-word;margin-top:6px;font-size:13px;font-weight:600;line-height:1.5}.dispatch-feedback-card{background:linear-gradient(#f8fafceb,#fffffffa);border:1px dashed #cbd5e1;border-radius:16px;padding:18px}.dispatch-feedback-title{color:#0f172a;font-size:14px;font-weight:700}.dispatch-feedback-description{color:#64748b;margin-top:4px;margin-bottom:12px;font-size:12px;line-height:1.6}.dispatch-date-pill{color:#1e40af;background:linear-gradient(135deg,#eff6fffa,#f0fdfaeb);border:1px solid #2563eb2e;border-radius:999px;align-items:center;gap:4px;width:fit-content;margin-top:4px;padding:1px 6px 1px 4px;line-height:1.1;display:flex;box-shadow:0 2px 6px #2563eb0d,inset 0 1px #ffffffeb}.dispatch-date-pill-label{color:#2563eb;letter-spacing:.04em;background:#2563eb1a;border-radius:999px;align-items:center;padding:1px 4px;font-size:9px;font-weight:800;display:inline-flex}.dispatch-date-pill-value{color:#0f172a;letter-spacing:.03em;font-size:11px;font-weight:800}.dispatch-location-picker{flex-direction:column;gap:10px;display:flex}.dispatch-location-picker-actions{align-items:center;display:flex}.dispatch-location-picker-map-wrap{aspect-ratio:1;border:1px solid #dbe3f0;border-radius:18px;width:100%;max-height:min(460px,100vh - 310px);margin:10px 0 0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa8,0 14px 34px #0f172a14}.dispatch-location-picker-map{width:100%;height:100%;min-height:0}.dispatch-location-picker-map .leaflet-control-attribution{font-size:10px}.dispatch-location-map-modal{width:min(640px,100vw - 32px)!important}.dispatch-location-map-modal .ant-modal-content{border-radius:18px;overflow:hidden;box-shadow:0 24px 72px #0f172a38}.dispatch-location-map-modal .ant-modal-header{margin-bottom:10px}.dispatch-location-map-modal .ant-modal-body{flex-direction:column;padding:0;display:flex}.dispatch-location-map-modal .ant-modal-footer{margin-top:12px}.dispatch-location-picker-search{background:linear-gradient(#fff,#f8fbff);border:1px solid #d7e0ee;border-radius:14px;width:min(100%,520px);height:42px;box-shadow:0 8px 20px #1e40af0f}.dispatch-location-picker-search .ant-input-group,.dispatch-location-picker-search .ant-input-affix-wrapper,.dispatch-location-picker-search .ant-input,.dispatch-location-picker-search .ant-input-group-addon,.dispatch-location-picker-search .ant-btn{height:40px}.dispatch-location-picker-search .ant-input-affix-wrapper{box-shadow:none;background:0 0;border:0;border-radius:14px 0 0 14px;align-items:center}.dispatch-location-picker-search .ant-input-affix-wrapper-focused{box-shadow:none}.dispatch-location-picker-search .ant-input{color:#0f172a;background:0 0;padding-top:0;padding-bottom:0;font-size:14px;line-height:40px}.dispatch-location-picker-search .ant-input::placeholder{color:#9ca3af}.dispatch-location-picker-search .ant-input-group-addon{background:0 0;border:0;border-radius:0 14px 14px 0;overflow:hidden}.dispatch-location-picker-search .ant-btn{min-width:74px;box-shadow:none;background:linear-gradient(135deg,#2563eb,#4f6df5);border:0;font-size:14px;font-weight:700;border-radius:0 12px 12px 0!important}.dispatch-location-picker-map-hint{color:#64748b;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:10px;display:flex}.task-card-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.sampling-task-project-groups{flex-direction:column;gap:22px;display:flex}.sampling-task-project-frame{background:linear-gradient(#fff 0%,#f8fbff 100%);border:2px solid #dbeafe;border-radius:18px;margin:0;padding:22px 24px 24px;box-shadow:0 10px 28px #1e40af12}.sampling-task-project-code{color:#0f172a;letter-spacing:.02em;padding:0 12px;font-size:16px;font-weight:800}.menu-group-label{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;padding:20px 16px 6px;font-size:11px;font-weight:700}@media (width<=768px){.checklist-compact-row-main{flex-direction:column;align-items:stretch}.checklist-compact-row-actions{justify-content:flex-start}.page-header,.detail-hero,.toolbar-row{flex-direction:column;align-items:stretch}.dispatch-location-picker-map{min-height:220px}.page-header-extra,.toolbar-filters{width:100%}.summary-grid,.upload-panel,.login-points{grid-template-columns:1fr}.page-title{font-size:22px}.detail-hero-title{font-size:18px}.task-card-grid{grid-template-columns:1fr}.sampling-task-project-frame{padding:18px 14px 16px}.dispatch-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.step-flow{flex-wrap:wrap}}.review-progress-strip{align-items:center;gap:0;display:flex}.review-progress-step-group{align-items:center;display:flex}.review-progress-step{flex-direction:column;align-items:center;gap:6px;display:flex}.review-progress-step-indicator{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.review-progress-step-dot{background:#fff;border:2px solid #cbd5e1;border-radius:50%;width:10px;height:10px;display:block}.review-progress-step-check{color:#22c55e;font-size:18px}.review-progress-step-label{color:#94a3b8;white-space:nowrap;font-size:13px;font-weight:600}.review-progress-connector{background:#e2e8f0;flex-shrink:0;align-self:flex-start;width:32px;height:2px;margin:10px 8px 0}.review-progress-connector--done{background:#22c55e}.review-progress-step--completed .review-progress-step-label{color:#22c55e}.review-progress-step--current .review-progress-step-dot{background:#2563eb;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.review-progress-step--current .review-progress-step-label{color:#2563eb;font-weight:700}.review-queue-section{flex-direction:column;gap:12px;display:flex}.review-queue-section-header{align-items:center;gap:8px;display:flex}.review-queue-section-title{color:#0f172a;font-size:15px;font-weight:700}.review-queue-section-badge{border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.review-queue-section-body{flex-direction:column;gap:10px;display:flex}.analysis-review-na{color:#cbd5e1;font-size:13px}.summary-project-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.summary-project-stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.summary-project-stat{color:#475569;font-size:13px}.summary-project-stat--blocked{color:#ef4444;font-weight:700}.review-timeline-item{flex-direction:column;gap:2px;display:flex}.review-timeline-label{color:#0f172a;font-size:13px;font-weight:600;line-height:1.4}.review-timeline-reviewer{color:#475569;font-size:12px;line-height:1.5}.review-timeline-comment{color:#94a3b8;margin-top:2px;font-size:12px;font-style:italic;line-height:1.5}.review-timeline-time{color:#94a3b8;font-size:11px;line-height:1.5}.review-blocker-panel{background:#f59e0b14;border:1px solid #f59e0b59;border-radius:12px;padding:16px}.review-blocker-header{color:#92400e;margin-bottom:12px;font-size:14px;font-weight:700}.review-blocker-list{flex-direction:column;gap:10px;display:flex}.review-blocker-row{background:#ffffffb3;border-radius:8px;flex-wrap:wrap;gap:12px 24px;padding:10px 12px;display:flex}.review-blocker-field{flex-direction:column;gap:2px;min-width:120px;display:flex}.review-blocker-field-label{color:#64748b;letter-spacing:.02em;font-size:11px;font-weight:600}.review-blocker-field-value{color:#0f172a;font-size:13px;font-weight:500;line-height:1.4}.review-blocker-no-review{color:#94a3b8;font-size:12px;font-style:italic}.batch-review-panel{border-top:1px solid #e2e8f0;flex-direction:column;gap:12px;margin-top:16px;padding:16px;display:flex}.batch-review-panel-info{color:#64748b;font-size:13px;font-weight:500}.batch-review-panel-comment{max-width:480px}.sample-review-card-header{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:16px;display:flex}.sample-review-card-identity{align-items:baseline;gap:8px;display:flex}.sample-review-card-code{color:#0f172a;font-size:15px;font-weight:700}.sample-review-card-name{color:#64748b;font-size:13px}.sample-review-card-project{color:#94a3b8;font-size:12px;font-weight:500}.sample-review-card-strip{margin-left:auto}.sample-review-card-detail-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.sample-review-card-detail-link:hover{text-decoration:underline}.review-card-list{flex-direction:column;gap:20px;display:flex}.summary-project-title{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.summary-project-code{color:#0f172a;font-size:15px;font-weight:700}.summary-project-name{color:#64748b;font-size:13px}.summary-project-stats{gap:16px;margin-top:8px;font-size:12px;display:flex}.summary-project-stat{color:#64748b;font-weight:500}.summary-project-stat--blocked{color:#ef4444}.analysis-review-code{color:#0f172a;font-size:13px;font-weight:600}.analysis-review-name{color:#94a3b8;margin-left:6px;font-size:12px}.analysis-review-na{color:#cbd5e1}.review-detail-meta{flex-wrap:wrap;gap:12px 32px;margin-bottom:24px;display:flex}.review-detail-meta-item{flex-direction:column;gap:2px;display:flex}.review-detail-meta-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.review-detail-meta-value{color:#0f172a;font-size:14px;font-weight:600}.review-detail-section{margin-bottom:28px}.review-detail-section-title{color:#334155;margin-bottom:14px;font-size:15px;font-weight:700}.review-detail-action-bar{border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:20px 0;display:flex}.review-detail-action-comment{flex:1;min-width:240px;max-width:480px}.sample-readiness-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:20px;display:grid}.sample-readiness-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.sample-readiness-code{color:#0f172a;margin-bottom:6px;font-size:14px;font-weight:700}.sample-readiness-stat{color:#64748b;font-size:12px;line-height:1.6}.report-readiness-strip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;display:flex}.report-readiness-tag{font-weight:600}.report-readiness-item{color:#475569;font-size:13px}.signoff-progress-ladder{padding:12px 0}.signoff-progress-title{color:#0f172a;margin-bottom:12px;font-size:14px;font-weight:600}.publication-checklist{padding:12px 0}.publication-checklist-title{color:#0f172a;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.publication-checklist-item{align-items:center;font-size:13px;display:flex}.publication-checklist-fail{color:#ef4444;font-weight:500}.report-blocker-panel{margin-bottom:16px}.report-blocker-list{margin:4px 0 0;padding-left:16px;font-size:13px}.version-lock-card{margin-bottom:12px}.version-lock-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.version-lock-detail{font-size:12px}.publication-history-card{margin-bottom:12px}.publication-history-item{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.publication-history-channel{color:#475569}.publication-history-time{font-size:12px}.publication-history-comment{width:100%;margin-top:2px;font-size:12px;display:block}.formal-preview-canvas{background:#fff;border:1px solid #e2e8f0;border-radius:4px;max-width:900px;min-height:600px;margin:0 auto;padding:48px 40px;position:relative;box-shadow:0 2px 8px #0f172a0f}.formal-preview-watermark{color:#94a3b814;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:60px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.formal-preview-content{z-index:1;position:relative}.report-detail-main{flex:min(100%,640px);min-width:0}.report-kpi-strip{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.report-kpi-card{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1;min-width:120px;padding:12px 16px}.report-kpi-value{color:#0f172a;font-size:24px;font-weight:700;line-height:1.2}.report-kpi-label{color:#64748b;margin-top:4px;font-size:12px}.report-signoff-publish-card.ant-card{background:radial-gradient(circle at 92% 12%,#f9731629,#0000 28%),linear-gradient(135deg,#fff7ed 0%,#fff 48%,#f8fafc 100%);border-color:#f9731661;box-shadow:0 18px 44px #9a34121f}.report-signoff-publish-card .ant-card-head{border-bottom-color:#f9731638}.review-overview-shell{background:radial-gradient(circle at 92% 8%,#2563eb1a,#0000 26%),linear-gradient(135deg,#fffffffa,#f8fbfff0);border:1px solid #bfdbfec7;border-radius:24px;margin-bottom:18px;box-shadow:0 20px 48px #0f172a14}.review-overview-lead{justify-content:space-between;gap:18px;margin-bottom:18px;display:flex}.review-overview-lead h2{color:#07132b;letter-spacing:-.04em;margin:10px 0 6px;font-size:clamp(20px,3vw,30px);font-weight:900}.review-overview-lead p{color:#52637a;margin:0;font-size:14px}.review-overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:14px;display:grid}.review-overview-card{background:#ffffffdb;border:1px solid #e2e8f0e6;border-radius:18px;min-height:126px;padding:16px 18px;box-shadow:0 12px 28px #0f172a0f}.review-overview-card span{color:#64748b;font-size:13px;font-weight:800}.review-overview-card strong{color:#06142f;letter-spacing:-.05em;margin-top:10px;font-size:30px;font-weight:900;line-height:1;display:block}.review-overview-card p{color:#52637a;margin:10px 0 0;font-size:12px;line-height:1.55}.review-overview-empty{background:#f8fafccc;border:1px dashed #94a3b8a6;border-radius:18px}.review-overview-action-hint{color:#b45309;margin-top:10px;font-size:13px;font-weight:700}.project-chip-group{flex-wrap:wrap;gap:10px;display:flex}.project-form-number-input.ant-input-number{align-items:center;min-height:40px;display:inline-flex}.project-form-number-input.ant-input-number .ant-input-number-input{height:38px}.project-form-number-input.ant-input-number .ant-input-number-input-wrap{align-items:center;display:flex}.project-code-name-row{grid-template-columns:minmax(180px,.45fr) minmax(260px,1fr);gap:16px;display:grid}.project-chip-group--compact{gap:8px}.project-chip-option{color:#334155;cursor:pointer;background:linear-gradient(#fff,#f8fbff);border:1px solid #d8e3f0;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:600;line-height:1.2;transition:border-color .2s,color .2s,background .2s,box-shadow .2s,transform .2s}.project-chip-option:hover{color:#1d4ed8;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 8px 18px #3b82f61a}.project-chip-option--active{color:#1d4ed8;background:linear-gradient(135deg,#2563eb24,#60a5fa14);border-color:#2563eb42;box-shadow:0 10px 24px #2563eb24}.project-chip-option--ghost{color:#64748b;border-style:dashed}.project-tag-summary-shell{background:linear-gradient(#f8fafcf5,#fffffffa);border:1px solid #e2e8f0;border-radius:16px;margin:4px 0 20px;padding:18px}.project-tag-summary-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.project-tag-summary-title{color:#0f172a;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.project-tag-summary-subtitle{color:#64748b;margin-top:6px;font-size:13px;line-height:1.6}.project-tag-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-tag-summary-card{background:#fffffff2;border:1px solid #e2e8f0f2;border-radius:14px;flex-direction:column;gap:6px;min-height:76px;padding:14px 16px;display:flex}.project-tag-summary-label{color:#64748b;font-size:12px;font-weight:600}.project-tag-summary-value{color:#1d4ed8;font-size:14px;font-weight:700}.project-tag-summary-value--empty{color:#94a3b8;font-weight:600}.project-tag-editor-modal{flex-direction:column;gap:18px;display:flex}.project-tag-editor-section{flex-direction:column;gap:10px;display:flex}.project-tag-editor-section-label{color:#0f172a;font-size:14px;font-weight:700}.breadcrumb-nav-strip{align-items:center;gap:10px;margin-top:12px;margin-bottom:12px;display:flex}.breadcrumb-nav-strip--tight{margin-top:0;margin-bottom:0}.breadcrumb-nav-parent{color:#94a3b8;font-size:14px;font-weight:500;line-height:1}.breadcrumb-nav-separator{color:#cbd5e1;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:400;line-height:1}.breadcrumb-nav-current{color:#64748b;background:#f1f5f9;border:1px solid #0000;border-radius:999px;align-items:center;padding:5px 14px;font-size:13px;font-weight:600;line-height:1.2;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.breadcrumb-nav-current--active{color:#1d4ed8;background:linear-gradient(135deg,#2563eb1f,#60a5fa0f);border-color:#2563eb2e;box-shadow:0 2px 8px #2563eb1a}@media (width<=768px){.project-code-name-row,.project-tag-summary-grid{grid-template-columns:1fr}.project-tag-summary-header{flex-direction:column;align-items:stretch}}.pm-list-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;margin-top:18px;margin-bottom:18px;display:grid}.pm-list-summary-card{background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514,0 4px 8px #222a350d}.pm-list-summary-value{color:#242424;font-size:26px;font-weight:800;line-height:1}.pm-list-summary-label{color:#898989;letter-spacing:.04em;text-transform:uppercase;margin-top:8px;font-size:12px;font-weight:600}.pm-list-toolbar{background:#fff;border-radius:10px;margin-bottom:18px;padding:16px 20px;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514,0 4px 8px #222a350d}.pm-list-toolbar-inner{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pm-list-table-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514,0 4px 8px #222a350d}.pm-list-table-card .ant-card-body{padding:0}.pm-list-table-card .ant-table-thead>tr>th{color:#242424;letter-spacing:.03em;text-transform:uppercase;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:12px;font-weight:700}.pm-list-table-card .ant-table-tbody>tr>td{vertical-align:top;border-bottom:1px solid #f5f5f5}.pm-list-table-card .ant-table-tbody>tr:hover>td{background:#fafafa}.pm-list-project-info{flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.pm-list-project-code{overflow-wrap:anywhere;color:#36f;letter-spacing:.08em;max-width:100%;font-size:12px;font-weight:800;line-height:1.35;display:inline-flex}.pm-list-project-name{color:#111827;word-break:keep-all;overflow-wrap:break-word;max-width:100%;font-size:14px;font-weight:800;line-height:1.45;display:block}.pm-list-meta-stack{color:#334155;flex-direction:column;gap:6px;min-width:0;font-size:13px;line-height:1.45;display:flex}.pm-list-meta-stack span{word-break:keep-all;overflow-wrap:break-word;min-width:0}.pm-list-meta-stack strong{color:#94a3b8;margin-right:6px;font-size:12px;font-weight:700;display:inline-block}.pm-list-cta{color:#fff;cursor:pointer;background:#242424;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:600;transition:opacity .18s;display:inline-flex}.pm-list-cta:hover{opacity:.8;background:#242424}@media (width<=768px){.pm-list-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}}.pc-profile-header-card{background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #e2e8f0;border-radius:16px;padding:22px 24px;box-shadow:0 1px 4px #2563eb12,0 0 0 1px #e2e8f0}.pc-profile-header{align-items:center;gap:18px;display:flex}.pc-profile-header-avatar{flex-shrink:0}.pc-profile-header-info{flex-direction:column;gap:4px;min-width:0;display:flex}.pc-profile-header-name{color:#0f172a;margin:0;font-size:20px;font-weight:700;line-height:1.3}.pc-profile-header-role{color:#1d4ed8;background:#2563eb14;border-radius:999px;align-items:center;width:fit-content;padding:2px 12px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex}.pc-profile-header-username{color:#94a3b8;font-size:13px;font-weight:500}.pc-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pc-account-field{flex-direction:column;gap:6px;display:flex}.pc-account-label{color:#64748b;letter-spacing:.04em;font-size:12px;font-weight:700}.pc-account-value{color:#0f172a;word-break:break-word;font-size:14px;font-weight:600;line-height:1.5}.pc-section-placeholder{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:20px 24px}.pc-section-placeholder-title{color:#0f172a;font-size:15px;font-weight:700}.pc-section-placeholder-text{color:#94a3b8;margin-top:6px;font-size:13px;line-height:1.6}.pc-profile-label{color:#64748b;letter-spacing:.04em;font-size:12px;font-weight:700}.pc-profile-value{color:#0f172a;word-break:break-word;font-size:14px;font-weight:600;line-height:1.5}.pc-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;display:grid}.pc-profile-field{flex-direction:column;gap:6px;display:flex}.pc-profile-field--full{grid-column:1/-1}.pc-profile-hint{color:#94a3b8;font-size:12px;line-height:1.4}.pc-phone-status{align-self:flex-start;margin-top:4px}.pc-profile-dirty-bar{background:#2563eb0a;border:1px solid #2563eb1f;border-radius:10px;justify-content:space-between;align-items:center;margin-top:20px;padding:12px 16px;display:flex}.pc-profile-dirty-text{color:#64748b;font-size:13px;font-weight:500}.pc-security-toggle{cursor:pointer;text-align:left;background:#f8fafc;border:none;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;transition:background .18s;display:flex}.pc-security-toggle:hover{background:#f1f5f9}.pc-security-toggle-left{align-items:center;gap:14px;display:flex}.pc-security-toggle-icon{color:#64748b;font-size:22px}.pc-security-toggle-text{flex-direction:column;gap:2px;display:flex}.pc-security-toggle-title{color:#0f172a;font-size:14px;font-weight:600}.pc-security-toggle-desc{color:#94a3b8;font-size:12px;line-height:1.5}.pc-security-toggle-arrow{color:#94a3b8;font-size:12px;transition:transform .2s}.pc-security-form-wrapper{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:18px}.pc-security-form{max-width:420px}@media (width<=768px){.pc-profile-header{flex-direction:column;align-items:flex-start}.pc-account-grid,.pc-profile-grid{grid-template-columns:1fr}.pc-security-form{max-width:100%}}.pc-avatar-uploader{background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px solid #6366f11f;border-radius:14px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.pc-avatar-uploader-preview{flex:none}.pc-avatar-uploader-image{box-shadow:0 10px 24px #0f172a14}.pc-avatar-uploader-body{flex-direction:column;gap:8px;min-width:0;display:flex}.pc-avatar-uploader-title{color:#0f172a;font-size:14px;font-weight:700}.pc-avatar-uploader-desc{color:#64748b;font-size:13px;line-height:1.6}@media (width<=768px){.pc-avatar-uploader{flex-direction:column;align-items:flex-start}}.di-layout-left{max-height:calc(100vh - 104px);position:sticky;top:88px;overflow-y:auto}.di-queue-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;display:flex;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3512,0 3px 8px #222a350a}.di-queue-header{justify-content:space-between;align-items:center;padding:18px 18px 0;display:flex}.di-queue-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.di-queue-count{color:#2563eb;background:#2563eb1a;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.di-queue-search{padding:12px 18px 8px}.di-queue-list{flex-direction:column;gap:6px;padding:8px 12px 14px;display:flex}.di-queue-card{all:unset;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:6px;padding:14px 14px 12px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.di-queue-card:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.di-queue-card--selected{background:#fff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb33,0 2px 8px #2563eb1a}.di-queue-card--selected:hover{background:#fff;border-color:#2563eb}.di-queue-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.di-queue-card-code{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.di-queue-card-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.di-queue-card-name{color:#0f172a;word-break:keep-all;overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.di-queue-card-batch{color:#64748b;font-family:monospace;font-size:12px}.di-right-stack{flex-direction:column;gap:16px;display:flex}.di-project-banner{background:linear-gradient(#eff6ffb8,#f8fafceb)!important;border-color:#2563eb1f!important}.di-project-banner-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.di-project-banner-main{min-width:0}.di-project-banner-code{color:#2563eb;letter-spacing:.08em;font-size:12px;font-weight:800}.di-project-banner-name{color:#0f172a;margin:6px 0 0;font-size:18px;font-weight:700;line-height:1.3}.di-project-banner-status{flex-shrink:0}.di-project-banner-scope{color:#64748b;margin:10px 0 0;font-size:13px;line-height:1.5}.di-empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.di-empty-state-icon{background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.di-empty-state-title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.di-empty-state-text{color:#64748b;max-width:360px;margin:0;font-size:13px;line-height:1.6}.di-create-batch-prompt{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.di-create-batch-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.di-create-batch-text{color:#64748b;margin:0;font-size:13px;line-height:1.6}.di-batch-list-card{background:linear-gradient(#fffffffa,#f8fafcf5)!important}.di-batch-list-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.di-batch-list-title{color:#0f172a;margin:0;font-size:15px;font-weight:800}.di-batch-list-subtitle{color:#64748b;margin:4px 0 0;font-size:12px;line-height:1.5}.di-batch-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.di-batch-list-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.di-batch-list-item--active{background:#eff6ff;border-color:#93c5fd}.di-batch-list-no{color:#0f172a;overflow-wrap:anywhere;font-family:monospace;font-size:12px;font-weight:800}.di-batch-list-status{color:#2563eb;background:#2563eb1a;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:800}.di-batch-list-status--done{color:#16a34a;background:#22c55e1f}.di-batch-editor{flex-direction:column;gap:16px;display:flex}.di-batch-editor-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.di-batch-editor-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.di-batch-editor-badge{color:#475569;letter-spacing:.04em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;padding:3px 12px;font-family:monospace;font-size:12px;font-weight:700;display:inline-flex}.di-batch-editor-body{flex-direction:column;gap:16px;display:flex}.di-batch-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=640px){.di-batch-editor-grid{grid-template-columns:1fr}}.di-batch-field{min-width:0}.di-batch-field--full{grid-column:1/-1}.di-batch-field-label{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.di-batch-actions{justify-content:flex-end;display:flex}.di-batch-attachments{margin-top:4px}.di-batch-attachments-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.di-batch-attachments-title{color:#0f172a;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.di-ghost-btn{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;transition:border-color .18s,box-shadow .18s,color .18s;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a350f,0 2px 4px #222a350a}.di-ghost-btn:hover,.di-ghost-btn:focus{color:#0f172a;border-color:#cbd5e1;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a351a,0 4px 8px #222a350f}.di-attachment-list{flex-direction:column;display:flex}.di-attachment-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.di-attachment-item:last-child{border-bottom:none}.di-attachment-item-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.di-attachment-item-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.di-attachment-item-uploader{color:#94a3b8;white-space:nowrap;font-size:12px}.di-attachment-item-size{color:#94a3b8;white-space:nowrap;font-size:11px}.di-attachment-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.di-attachment-remark-control{min-width:240px}.di-attachment-remark-control .ant-input{min-width:160px}.di-attachments-empty{padding:12px 0}.di-sample-table{flex-direction:column;gap:14px;display:flex}.di-sample-table-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.di-sample-table-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.di-sample-table-subtitle{color:#64748b;margin:4px 0 0;font-size:13px;line-height:1.5}.di-sample-add-row{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;display:flex}.di-sample-add-fields{flex-wrap:wrap;flex:1;gap:10px;min-width:0;display:flex}.di-sample-code-input .ant-input:first-child{color:#475569;width:120px;font-family:monospace;font-weight:600}.di-sample-code-input .ant-input:last-child{width:120px}.di-condition-check-card{background:linear-gradient(#f8fbfffa,#f1f7fffa);border:1px solid #bfdbfe;border-radius:16px;padding:18px 20px;box-shadow:0 1px 4px #2563eb0f}.di-condition-check-title{color:#0f172a;margin:0 0 14px;font-size:16px;font-weight:800}.di-condition-check-list{flex-direction:column;gap:12px;display:flex}.di-condition-check-item{background:#fff;border:1px solid #dbeafe;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a350f,0 2px 4px #222a350a}.di-condition-check-label{color:#0f172a;font-size:15px;font-weight:800}@media (width<=640px){.di-attachment-item,.di-condition-check-item{flex-direction:column;align-items:stretch}.di-attachment-item-actions{justify-content:flex-start}}.di-complete-bar{background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 1px 4px #2563eb12}.di-complete-hint{color:#f59e0b;font-size:13px;font-weight:600}.report-archive-page{background:0 0;position:relative;overflow:hidden}.report-archive-page:before{content:none}.report-archive-page>*{z-index:1;position:relative}.report-archive-page .page-header{background:radial-gradient(circle at 88% 18%,#14b8a61c,#0000 30%),linear-gradient(135deg,#fffffffc,#f8fbfff5);border:1px solid #bfdbfedb;padding:30px 32px;overflow:hidden}.report-archive-hero,.report-archive-detail-hero{background:linear-gradient(135deg,#eff6fff5,#ecfdf5db),radial-gradient(circle at 88% 12%,#2563eb24,#0000 26%);border:1px solid #0f9f8f2e;border-radius:28px;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:0 22px 54px #0f172a14}.report-archive-hero{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:22px;padding:24px 30px;display:grid}.report-archive-hero:before,.report-archive-detail-hero:before{pointer-events:none;content:"";background-image:linear-gradient(#2563eb0e 1px,#0000 1px),linear-gradient(90deg,#0f9f8f0e 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.report-archive-hero>*,.report-archive-detail-hero>*{z-index:1;position:relative}.report-archive-hero-topline{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.report-archive-kicker{color:#36f;letter-spacing:.12em;text-transform:uppercase;background:#2563eb1a;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.report-archive-detail-hero h2,.report-archive-hero h2{color:#07132b;letter-spacing:-.04em;margin:0;font-size:clamp(15px,2vw,24px);font-weight:900;line-height:1.12}.report-archive-hero p{color:#475569;max-width:660px;margin:10px 0 0;font-size:15px}.report-archive-stage-rail{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:26px;display:grid}.report-archive-stage-node{color:#94a3b8;flex-direction:column;gap:8px;font-size:12px;font-weight:800;display:flex}.report-archive-stage-node span{background:#dbeafe;border-radius:999px;height:7px}.report-archive-stage-node-active{color:#0f766e}.report-archive-stage-node-active span{background:linear-gradient(90deg,#2563eb,#0f9f8f);box-shadow:0 8px 18px #0f9f8f38}.report-archive-coverage-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:18px;margin-top:24px;display:grid}.report-archive-coverage-item{min-width:0;padding:2px 0 0}.report-archive-coverage-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.report-archive-coverage-line span:first-child{color:#0f766e;font-size:12px;font-weight:900}.report-archive-coverage-ratio{color:#64748b;white-space:nowrap;font-size:12px;font-weight:700}.report-archive-coverage-bar{background:#cbd5e1c7;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.report-archive-coverage-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0f9f8f);height:100%;display:block;box-shadow:0 8px 18px #0f9f8f38}.report-archive-coverage-item-archived .report-archive-coverage-line span:first-child{color:#a16207}.report-archive-coverage-item-archived .report-archive-coverage-bar-fill{background:linear-gradient(90deg,#d9a65b,#b7791f)}.report-archive-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-archive-hero-stats>div{background:#ffffffc7;border:1px solid #2563eb1f;border-radius:17px;min-height:84px;padding:14px 16px;box-shadow:0 12px 26px #0f172a0f}.report-archive-hero-stats span{color:#64748b;font-size:12px;font-weight:700}.report-archive-hero-stats strong{color:#06142f;letter-spacing:-.05em;margin-top:8px;font-size:28px;font-weight:900;display:block}.report-archive-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px;display:grid}.report-archive-summary-card{background:#ffffffe0;border:1px solid #94a3b83d;border-radius:18px;padding:18px 20px;box-shadow:0 14px 32px #0f172a0f}.report-archive-summary-card span{color:#64748b;font-size:13px;font-weight:700;display:block}.report-archive-summary-card strong{color:#0f172a;margin-top:6px;font-size:30px;line-height:1;display:block}.report-archive-list-card{background:#ffffffeb;border:1px solid #bfdbfeb8;border-radius:26px;box-shadow:0 22px 54px #0f172a14}.report-archive-section-lead{background:linear-gradient(135deg,#eff6ffbf,#f0fdfae0);border:1px solid #0f9f8f2e;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;padding:18px 22px;display:flex}.report-archive-section-title{color:#07132b;font-size:16px;font-weight:900}.report-archive-section-text,.report-archive-detail-subtitle{color:#475569;margin-top:8px;font-size:14px}.report-archive-toolbar{flex-wrap:wrap;align-items:center;gap:10px;max-width:720px;margin-bottom:20px;display:flex}.submission-rejection-drawer .ant-drawer-body{background:#f8fafc;padding:0 24px 24px}.submission-rejection-drawer .ant-drawer-footer{background:#fff;border-top:1px solid #dbe5f0}.submission-rejection-alert{margin-top:18px}.submission-rejection-intro{background:#eff6ff;border:1px solid #bfd7ff;border-radius:12px;grid-template-columns:48px minmax(0,1fr);gap:14px;margin:18px 0;padding:18px;display:grid}.submission-rejection-intro-icon{color:#fff;background:#2563eb;border-radius:10px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.submission-rejection-intro .ant-typography{margin:0}.submission-rejection-intro .ant-typography+.ant-typography{color:#475569;margin-top:5px}.submission-rejection-content{width:100%}.submission-rejection-section{background:#fff;border:1px solid #dbe5f0;border-radius:12px;overflow:hidden}.submission-rejection-section--legacy{background:#fffbeb;border-color:#f4cf8d}.submission-rejection-section-title{color:#0f172a;border-bottom:1px solid #e2e8f0;align-items:center;gap:9px;min-height:48px;padding:12px 16px;font-weight:750;display:flex}.submission-rejection-section>.ant-collapse{background:0 0;border:0;border-radius:0}.submission-rejection-group-label{color:#1e293b;align-items:center;gap:8px;display:flex}.submission-rejection-group-label>span:last-child{color:#64748b;font-size:12px}.submission-rejection-group-content,.submission-rejection-target-fields{gap:12px;display:grid}.submission-rejection-whole-task{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:9px;gap:10px;padding:12px;display:grid}.submission-rejection-whole-package{gap:10px;padding:14px 16px;display:grid}.submission-rejection-field-error{color:#b91c1c;font-size:12px;line-height:1.4}.submission-rejection-reason{gap:5px;display:grid}.submission-rejection-target{background:#ffffffe0;border-bottom:1px solid #edf2f7;gap:11px;padding:13px 16px;display:grid}.submission-rejection-target:last-child{border-bottom:0}.submission-rejection-target-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.submission-rejection-filename{overflow-wrap:anywhere;color:#0f172a;font-weight:650}.submission-rejection-target-fields .ant-select{width:min(320px,100%)}.submission-rejection-comment{color:#334155;gap:8px;font-weight:650;display:grid}.submission-rejection-impact{color:#7c2d12;background:#fff7ed;border-left:4px solid #f97316;flex-wrap:wrap;align-items:center;gap:8px;padding:15px 16px;display:flex}.submission-rejection-impact span{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:4px 9px;font-size:12px}.submission-rejection-footer{justify-content:flex-end;gap:10px;display:flex}.submission-rework-panel{background:#fff;border:1px solid #fecaca;border-radius:16px;margin-bottom:18px;overflow:hidden;box-shadow:0 12px 34px #7f1d1d17}.submission-rework-panel-heading{color:#fff;background:linear-gradient(110deg,#7f1d1d 0%,#b91c1c 62%,#dc2626 100%);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.submission-rework-panel-heading span{color:#fecaca;letter-spacing:1.3px;font-size:11px;font-weight:800}.submission-rework-panel-heading h3,.submission-rework-panel-heading p{margin:0}.submission-rework-panel-heading h3{margin-top:3px;font-size:21px}.submission-rework-panel-heading p{color:#fee2e2;margin-top:5px}.submission-rework-lanes{background:#fff7f7;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.submission-rework-lane{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #64748b;border-radius:12px;min-width:0;overflow:hidden}.submission-rework-lane--lead{border-top-color:#f97316}.submission-rework-lane--member{border-top-color:#0284c7}.submission-rework-lane--confirmation{border-top-color:#7c3aed}.submission-rework-lane--resolved{border-top-color:#16a34a}.submission-rework-lane-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.submission-rework-lane-header>div{gap:3px;display:grid}.submission-rework-lane-header strong{color:#0f172a;font-size:15px}.submission-rework-lane-header span{color:#64748b;font-size:12px;line-height:1.45}.submission-rework-lane-body{gap:10px;min-height:106px;padding:12px;display:grid}.submission-rework-item{background:#fff;border:1px solid #e2e8f0;border-radius:9px;gap:10px;padding:13px;display:grid}.submission-rework-item-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.submission-rework-item-heading>div{gap:7px;min-width:0;display:grid}.submission-rework-item-heading strong{overflow-wrap:anywhere;color:#1e293b}.submission-rework-member{color:#475569;font-size:12px}.submission-rework-attachments{gap:6px;display:grid}.submission-rework-attachment{color:#64748b;grid-template-columns:auto minmax(100px,180px) auto;align-items:center;gap:6px;font-size:12px;display:grid}.submission-rework-attachment>strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.submission-rework-item p{color:#475569;background:#f8fafc;border-left:3px solid #cbd5e1;margin:0;padding:9px 10px;line-height:1.55}.submission-rework-item-audit{color:#64748b;flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.submission-rework-item-audit strong{color:#334155;margin-left:4px;font-weight:600}.submission-rework-item-actions{padding-top:2px}.submission-rework-upload{grid-template-columns:minmax(150px,auto) minmax(180px,1fr) auto;align-items:center;gap:8px;display:grid}.submission-rework-upload .ant-upload-wrapper,.submission-rework-upload .ant-btn{width:100%}.member-submission-rework-panel{margin-bottom:20px}.member-submission-rework-items{gap:14px;display:grid}.member-submission-rework-editor{grid-template-columns:minmax(180px,auto) minmax(220px,1fr) auto;align-items:start;gap:10px;display:grid}.member-submission-rework-editor .ant-radio-group{background:#f8fafc;border:1px solid #dbe4ef;border-radius:10px;grid-column:1/-1;padding:10px 12px}.submission-rework-prepare{background:#fff;border-top:1px solid #fecaca;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;display:grid}@media (width<=920px){.submission-rework-lanes,.submission-rework-upload,.submission-rework-prepare,.member-submission-rework-editor{grid-template-columns:1fr}}@media (width<=760px){.submission-rework-panel-heading,.submission-rework-item-heading{flex-direction:column}.submission-rework-attachments{width:100%}.submission-rework-attachment{grid-template-columns:auto minmax(0,1fr) auto}.submission-rework-lanes{padding:12px}.submission-rework-prepare .ant-btn{min-height:44px}.member-submission-rework-editor .ant-btn,.member-submission-rework-editor .ant-upload-wrapper{width:100%;min-height:44px}.submission-rejection-drawer .ant-drawer-content-wrapper{width:100%!important}.submission-rejection-drawer .ant-drawer-body{padding:0 14px 18px}.submission-rejection-intro{grid-template-columns:38px minmax(0,1fr);padding:14px}.submission-rejection-intro-icon{width:38px;height:38px;font-size:19px}.submission-rejection-target-heading,.submission-rejection-footer{flex-direction:column;align-items:stretch}.submission-rejection-footer .ant-btn{min-height:44px}}.report-archive-toolbar .ant-input-affix-wrapper{flex:320px;min-width:240px}.report-archive-filter-select{flex:0 0 168px}.report-archive-toolbar .ant-input-affix-wrapper,.report-archive-toolbar .ant-select .ant-select-selector{background:#f8fafcb8;border-color:#cbd5e1e6;border-radius:14px}@media (width<=640px){.report-archive-toolbar{flex-direction:column;align-items:stretch;max-width:100%}.report-archive-toolbar .ant-input-affix-wrapper,.report-archive-filter-select{flex:auto;width:100%;min-width:0}}.report-archive-pagination{margin-top:18px}.report-archive-project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;display:grid}.report-archive-project-card{text-align:left;cursor:pointer;background:radial-gradient(circle at 88% 8%,#3b82f617,#0000 24%),linear-gradient(#fff,#fbfdff);border:1px solid #e2e8f0e0;border-radius:18px;width:100%;min-height:190px;padding:20px 24px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden;box-shadow:0 10px 24px #0f172a0d}.report-archive-project-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#14b8a600);width:100%;height:4px;position:absolute;top:0;left:0}.report-archive-project-card:hover{border-color:#93c5fdf2;transform:translateY(-2px);box-shadow:0 18px 36px #2563eb1f}.report-archive-project-card-archived{background:radial-gradient(circle at 88% 8%,#d9a65b1a,#0000 28%),linear-gradient(#fff8e7 0%,#fffaf0 46%,#fff 100%);border-color:#d9a65b61;box-shadow:0 10px 24px #7853250f}.report-archive-project-card-archived:before{background:linear-gradient(90deg,#d9a65b,#d9a65b00)}.report-archive-project-card-archived:hover{border-color:#d9a65b8f;box-shadow:0 18px 36px #9260231f}.report-archive-card-topline,.report-archive-batch-header,.report-archive-submission-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-archive-card-topline code{color:#36f;letter-spacing:.08em;text-transform:uppercase;font-family:Plus Jakarta Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:12px;font-weight:700}.report-archive-project-title{color:#07132b;word-break:keep-all;overflow-wrap:break-word;min-height:42px;margin:12px 0 10px;font-size:16px;font-weight:900;line-height:1.35}.report-archive-card-metrics{color:#64748b;background:#f8fafcd6;border-radius:14px;gap:12px;margin-top:14px;padding:10px 12px;font-size:12px;display:flex;box-shadow:inset 0 0 0 1px #dbeafee6}.report-archive-card-metrics strong{color:#0f172a;margin-right:4px;font-size:16px}.report-archive-card-action{color:#2563eb;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:800;display:flex}.report-archive-detail-hero{padding:28px 32px}.report-archive-detail-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:flex-start;gap:28px;display:grid}.report-archive-detail-main,.report-archive-tab-stack,.report-archive-side-panel{flex-direction:column;gap:18px;display:flex}.report-archive-detail-hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:28px;display:grid}.report-archive-tabs-card{border-color:#bfdbfeb8;border-radius:24px}.report-archive-risk-note{background:#2563eb0f;border:1px solid #2563eb24;border-radius:16px;padding:18px}.report-archive-risk-note strong{color:#07132b;margin:10px 0 6px;font-weight:900;display:block}.report-archive-risk-note div{color:#475569;font-size:13px;line-height:1.6}.report-archive-document-group{background:linear-gradient(#fff,#f8fafc);border:1px solid #bfdbfedb;border-radius:18px;padding:16px}.report-archive-document-group h3{color:#0f172a;margin:0 0 12px;font-size:16px}.report-archive-document-row{background:#ffffffeb;border:1px solid #e2e8f0eb;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;box-shadow:0 8px 20px #0f172a0a}.report-archive-document-main{align-items:center;gap:12px;min-width:0;display:flex}.report-archive-document-main>span{color:#2563eb;flex:none;font-size:18px}.report-archive-document-main strong{color:#0f172a;word-break:break-word;display:block}.report-archive-document-main div span,.report-archive-batch-header span,.report-archive-submission-header span{color:#64748b;margin-top:2px;font-size:12px;display:block}.report-archive-batch-card,.report-archive-submission-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #bfdbfeb8;border-radius:18px}.report-archive-batch-header{border-bottom:1px solid #e2e8f0;margin-bottom:14px;padding-bottom:12px}.report-archive-submission-card{background:#f8fafc;padding:14px}.report-archive-submission-header{margin-bottom:12px}.report-archive-audit-card{background:linear-gradient(#fff 0%,#f0f9ff 100%);border-color:#0ea5e957}.report-archive-audit-list{gap:8px;display:grid}.report-archive-audit-row{background:#fffc;border:1px solid #bae6fdd1;border-radius:12px;grid-template-columns:minmax(160px,1fr) 96px minmax(120px,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.report-archive-audit-row span{color:#334155;font-weight:600}.report-archive-audit-row strong{color:#0369a1}.report-archive-audit-row em{color:#64748b;font-style:normal}.report-archive-audit-records{flex-wrap:wrap;gap:8px;display:flex}.coc-project-info-cell{flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;max-width:100%;display:flex}.coc-project-info-primary-row{align-items:flex-start;gap:6px;min-width:0;max-width:100%;display:flex}.coc-project-info-primary{color:#1d4ed8;overflow-wrap:anywhere;white-space:normal;word-break:break-word;min-width:0;max-width:100%;font-size:12.5px;font-weight:750;line-height:1.35;display:inline-block}.coc-project-info-subtitle{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;line-height:1.35;display:block;overflow:hidden}.task-package-photo-actions .ant-btn-link{padding-inline:0}.task-package-photo-group{background:linear-gradient(#f8fbfff5,#fffffff5),radial-gradient(circle at 0 0,#3b82f614,#0000 30%);border:1px solid #dbeafee6;border-radius:16px;padding:12px}.task-package-photo-group-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.task-package-photo-group-header>div{align-items:center;gap:8px;min-width:0;display:inline-flex}.task-package-photo-group-header strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;overflow:hidden}.task-package-photo-group-header span{color:#64748b;font-size:12px}.task-package-photo-compact-grid,.task-package-photo-gallery-grid{gap:12px;display:grid}.task-package-photo-compact-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.task-package-photo-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.task-package-photo-gallery-modal .ant-modal-body{max-height:min(72vh,760px);padding-right:18px;overflow:auto}.task-package-photo-group--gallery{background:#fff}@media (width<=768px){.task-package-photo-compact-grid,.task-package-photo-gallery-grid{grid-template-columns:minmax(0,1fr)}.task-package-photo-group-header{flex-direction:column;align-items:flex-start}}.task-package-photo-group-show-all-pill{color:#2563eb;white-space:nowrap;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:4px;padding:2px 12px;font-size:12px;line-height:20px;transition:background .15s,border-color .15s;display:inline-flex}.task-package-photo-group-show-all-pill:hover{background:#dbeafe;border-color:#93c5fd}.task-package-photo-group-show-all-pill:active{background:#bfdbfe}.task-package-photo-more-card{color:#2563eb;cursor:pointer;background:#f0f7ff;border:1px dashed #93c5fd;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:120px;padding:16px 8px;font-size:12px;transition:background .15s,border-color .15s;display:flex}.task-package-photo-more-card:hover{background:#dbeafe;border-color:#60a5fa}.task-package-photo-more-card:active{background:#bfdbfe}.task-package-photo-more-card-count{color:#3b82f6;font-size:22px;font-weight:700;line-height:1}.sample-reconciliation-task-code{color:#1d4ed8;overflow-wrap:anywhere;white-space:normal;word-break:break-word;max-width:150px;font-size:12.5px;font-weight:750;line-height:1.35;display:inline-block}.coc-list-table .ant-table{background:#fff;border-radius:14px}.coc-list-table .ant-table-container{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.coc-list-table .ant-table-thead>tr>th{color:#475569;letter-spacing:.02em;background:linear-gradient(#f8fafc 0%,#eef4fb 100%);border-bottom:1px solid #dbe3ee;font-size:12px;font-weight:700}.coc-list-table .ant-table-tbody>tr>td{color:#334155;vertical-align:middle;border-bottom-color:#eef2f7}.coc-list-table .ant-table-tbody>tr:hover>td{background:#f8fbff}.coc-receive-pending-table .ant-table-cell-fix-right{background:#fff;box-shadow:-12px 0 18px #0f172a14}.coc-receive-pending-table .ant-table-tbody>tr:hover>.ant-table-cell-fix-right{background:#f8fbff}.coc-receive-pending-table .ant-table-cell-fix-right-first:after{box-shadow:inset -10px 0 8px -8px #0f172a2e}.coc-code-badge{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:8px;align-items:center;max-width:100%;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700;line-height:1.25;display:inline-flex}.coc-code-empty{color:#94a3b8;font-size:13px}.coc-task-code{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:13px;font-weight:700;line-height:1.35;display:block;overflow:hidden}.coc-status-line{max-width:100%;display:inline-flex}.coc-status-line .status-badge{letter-spacing:.01em;min-width:48px;min-height:24px;padding:0 11px;font-size:12px;font-weight:600}.coc-project-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.coc-project-code{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.35;overflow:hidden}.coc-project-name{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.coc-handover-chip{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;max-width:100%;padding:2px 7px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex;overflow:hidden}.coc-handover-content-cell{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.coc-handover-content-header{justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.coc-handover-lead-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;line-height:1.35;overflow:hidden}.coc-handover-content-body{min-width:0;display:flex}.coc-sample-count{color:#0e7490;background:#ecfeff;border-radius:999px;justify-content:center;min-width:24px;padding:1px 6px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.coc-datetime-cell{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;display:inline-flex}.coc-datetime-date{color:#1e293b;font-size:13px}.coc-datetime-time{color:#64748b;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.coc-datetime-empty{color:#64748b}.received-sample-category-cell{flex-direction:column;gap:5px;min-width:0;display:flex}.received-sample-category-main{color:#0f172a;word-break:break-word;font-size:13px;font-weight:650;line-height:1.35}.received-sample-category-meta{color:#64748b;align-items:center;gap:6px;font-size:12px;line-height:1.25;display:inline-flex}.received-sample-quantity-chip{color:#0e7490;background:#ecfeff;border-radius:999px;justify-content:center;min-width:22px;padding:1px 6px;font-size:12px;font-weight:700;line-height:1.35;display:inline-flex}.received-sample-datetime-cell{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;display:inline-flex}.received-sample-datetime-date{color:#0f172a;font-size:14px}.received-sample-datetime-time{color:#64748b;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.received-sample-datetime-empty{color:#64748b}.received-sample-row-clickable{cursor:pointer}.received-sample-row-clickable:hover>td{background:#f0f7ff!important}.received-sample-project-group-list{flex-direction:column;gap:18px;display:flex}.received-sample-project-group-card{background:radial-gradient(circle at 92% 4%,#2563eb0b,#0000 30%),linear-gradient(#fff 0%,#fdfefe 100%);border:1px solid #cbd5e1db;border-radius:12px;overflow:hidden;box-shadow:0 18px 44px #0f172a0f,inset 0 1px #ffffffe6}.received-sample-project-group-header{background:linear-gradient(90deg,#fffffffa,#f8fbfff0);justify-content:space-between;align-items:center;gap:24px;min-height:58px;padding:11px 28px 6px;display:flex}.received-sample-project-group-title{color:#0f172a;overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.22}.received-sample-project-group-code{color:#475569;letter-spacing:.01em;margin-top:4px;font-size:12px;font-weight:500}.received-sample-project-group-summary{flex:none;justify-content:flex-end}.received-sample-project-group-card .ant-table-thead>tr>th{border-bottom:0;padding-block:8px;line-height:1.2}.coc-action-cell{flex-wrap:wrap;gap:2px;max-width:100%;display:inline-flex}.coc-action-cell .ant-btn-sm{height:24px;padding-inline:4px}.coc-action-button{font-size:12px}.coc-confirm-button.ant-btn{letter-spacing:.02em;border-radius:999px;transition:transform .16s,box-shadow .16s,border-color .16s;position:relative;overflow:hidden}.coc-confirm-button.ant-btn:before{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff47,#0000 42%);position:absolute;inset:0}.coc-confirm-button.ant-btn:hover,.coc-confirm-button.ant-btn:focus-visible{transform:translateY(-1px);color:#fff!important;border-color:#1d4ed8!important;box-shadow:0 11px 22px #2563eb47!important}.coc-confirm-button.ant-btn .anticon,.coc-confirm-button.ant-btn span{z-index:1;position:relative}@media (width<=1180px){.project-detail-layout,.report-detail-layout{flex-direction:column}.project-risk-panel,.report-detail-rail{width:100%;max-width:none}.report-archive-hero,.report-archive-detail-layout,.report-archive-detail-hero-grid,.sampling-project-hero-grid{grid-template-columns:1fr}.report-archive-project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}}@media (width<=768px){.report-archive-hero,.report-archive-detail-hero-grid,.report-archive-detail-layout{grid-template-columns:1fr}.report-archive-stage-rail,.report-archive-coverage-grid,.report-archive-hero-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.report-archive-project-grid{grid-template-columns:1fr}.report-archive-section-lead,.report-archive-card-topline,.report-archive-batch-header,.report-archive-submission-header,.report-archive-document-row{flex-direction:column}}.task-route-workspace-page{color:#0f172a;min-width:0}.task-route-workspace-header-actions,.task-route-workspace-toolbar,.task-route-workspace-segmented,.task-route-workspace-inspector header,.task-route-workspace-matrix-pagination{align-items:center;display:flex}.task-route-workspace-header-actions,.task-route-workspace-toolbar{flex-wrap:wrap;gap:12px}.task-route-workspace-header-actions button,.task-route-workspace-toolbar button,.task-route-workspace-toolbar input,.task-route-workspace-state button,.task-route-workspace-inspector button,.task-route-workspace-node,.task-route-workspace-branch,.task-route-workspace-tree-leaf,.task-route-workspace-matrix button,.task-route-workspace-back{min-height:32px}.task-route-workspace-header-actions button,.task-route-workspace-toolbar button,.task-route-workspace-state button,.task-route-workspace-inspector button,.task-route-workspace-node,.task-route-workspace-branch,.task-route-workspace-tree-leaf,.task-route-workspace-matrix button{color:#0f172a;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0}.task-route-workspace-back{color:#2563eb;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.task-route-workspace-toolbar{background:#fff;border-block:1px solid #e2e8f0;justify-content:space-between;padding:12px 14px}.task-route-workspace-toolbar label{color:#64748b;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.task-route-workspace-toolbar input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:4px;width:min(220px,48vw);padding:4px 10px}.task-route-workspace-segmented{gap:0}.task-route-workspace-segmented button{padding:5px 12px}.task-route-workspace-segmented button+button{border-left:0}.task-route-workspace-segmented button[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb}.task-route-workspace-state{background:#fff;border:1px solid #e2e8f0;justify-items:start;gap:8px;padding:24px;display:grid}.task-route-workspace-state--error,.task-route-workspace-inspector-error{border-left:4px solid #ef4444}.task-route-workspace-graph{background:#fff;border:1px solid #e2e8f0;min-width:0;display:grid;position:relative;overflow:hidden}.task-route-workspace-axis{background:#f4f7fb;border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(220px,1.35fr) repeat(5,minmax(112px,1fr));min-width:780px;display:grid}.task-route-workspace-axis span{color:#64748b;text-align:center;white-space:nowrap;padding:10px 8px;font-size:12px;font-weight:800}.task-route-workspace-axis span+span{border-left:1px solid #e2e8f0}.task-route-workspace-shared-nodes{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:stretch;gap:8px;padding:14px;display:flex}.task-route-workspace-project-origin{background:#f4f7fb;border-bottom:1px solid #e2e8f0;border-left:4px solid #2563eb;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;display:grid}.task-route-workspace-project-origin small{color:#64748b}.task-route-workspace-hierarchy,.task-route-workspace-group,.task-route-workspace-batch,.task-route-workspace-batch-branches{min-width:0;display:grid}.task-route-workspace-hierarchy{gap:12px;padding:12px 14px}.task-route-workspace-group{border-left:2px solid #e2e8f0;gap:8px;padding-left:12px}.task-route-workspace-batch{border-left:1px solid #94a3b8;grid-template-columns:minmax(140px,190px) minmax(0,1fr);align-items:start;gap:12px;padding-left:12px}.task-route-workspace-batch-branches{gap:3px}.task-route-workspace-node{text-align:left;min-width:150px;padding:8px 10px;display:grid}.task-route-workspace-node small{color:#64748b}.task-route-workspace-node--project{background:#f4f7fb;border-left:4px solid #2563eb}.task-route-workspace-node[aria-pressed=true]{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.task-route-workspace-contains-list{color:#64748b;flex-wrap:wrap;flex-basis:100%;gap:6px 12px;font-size:12px;display:flex}.task-route-workspace-branches{background-image:repeating-linear-gradient(90deg,#0000 0 calc(20% - 1px),#e2e8f0 calc(20% - 1px) 20%);background-position:220px 0;gap:2px;padding:12px 14px;display:grid}.task-route-workspace-branch{text-align:left;border-color:#0000;grid-template-columns:minmax(90px,.55fr) minmax(208px,2fr) minmax(110px,.7fr);align-items:center;gap:8px;width:100%;padding:5px 8px;transition:opacity .16s,box-shadow .16s;display:grid}.task-route-workspace-branch-track{justify-self:start;align-items:center;min-width:28px;display:flex}.task-route-workspace-branch-line{background:currentColor;border-radius:999px;flex:1;height:3px}.task-route-workspace-branch--quality-missing .task-route-workspace-branch-line{background:0 0;border-top:3px dashed;height:0}.task-route-workspace-branch--quality-degraded .task-route-workspace-branch-line{background:repeating-linear-gradient(135deg,currentColor 0 4px,#0000 4px 8px);border:1px solid;height:5px}.task-route-workspace-branch--stage-none .task-route-workspace-branch-track{width:8%}.task-route-workspace-branch--stage-none .task-route-workspace-branch-line{background:0 0;border-top:2px dashed}.task-route-workspace-branch--stage-sampling-complete .task-route-workspace-branch-track{width:20%}.task-route-workspace-branch--stage-sample-received .task-route-workspace-branch-track{width:40%}.task-route-workspace-branch--stage-detection-started .task-route-workspace-branch-track{width:60%}.task-route-workspace-branch--stage-record-submitted .task-route-workspace-branch-track{width:80%}.task-route-workspace-branch--stage-report-group-received .task-route-workspace-branch-track{width:100%}.task-route-workspace-branch-symbol{font-size:18px;font-weight:900}.task-route-workspace-branch-origin,.task-route-workspace-branch-department{overflow-wrap:anywhere;font-weight:700}.task-route-workspace-branch-text{color:#64748b;overflow-wrap:anywhere;font-size:12px}.task-route-workspace-branch--error{color:#ef4444}.task-route-workspace-branch--warning{color:#f59e0b}.task-route-workspace-branch--active{color:#2563eb}.task-route-workspace-branch--complete{color:#22c55e}.task-route-workspace-branch--not_started{color:#94a3b8}.task-route-workspace-branch--dimmed{opacity:.28}.task-route-workspace-branch[aria-pressed=true]{border-color:currentColor;box-shadow:inset 4px 0}.task-route-workspace-issues{color:#64748b;background:#f4f7fb;border-top:1px solid #e2e8f0;padding:12px 16px}.task-route-workspace-issues ul{margin:6px 0 0;padding-left:20px}.task-route-workspace-mobile-tree{display:none}.task-route-workspace-inspector{background:#fff;border:1px solid #e2e8f0;gap:14px;padding:16px;display:grid}.task-route-workspace-inspector header{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:12px;padding-bottom:10px}.task-route-workspace-inspector header>div{gap:3px;display:grid}.task-route-workspace-inspector header span,.task-route-workspace-evidence-grid dt,.task-route-workspace-milestones small{color:#64748b;font-size:12px}.task-route-workspace-status{font-weight:800}.task-route-workspace-status--error{color:#ef4444}.task-route-workspace-status--warning{color:#f59e0b}.task-route-workspace-status--active{color:#2563eb}.task-route-workspace-status--complete{color:#22c55e}.task-route-workspace-status--not_started{color:#94a3b8}.task-route-workspace-inspector-error{background:#f4f7fb;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.task-route-workspace-evidence-grid{background:#e2e8f0;border:1px solid #e2e8f0;grid-template-columns:repeat(5,minmax(120px,1fr));gap:1px;margin:0;display:grid}.task-route-workspace-evidence-grid>div{background:#fff;min-width:0;padding:9px 10px}.task-route-workspace-evidence-grid dd{overflow-wrap:anywhere;margin:3px 0 0;font-weight:700}.task-route-workspace-milestones ol{background:#e2e8f0;border:1px solid #e2e8f0;grid-template-columns:repeat(5,minmax(110px,1fr));gap:1px;margin:8px 0 0;padding:0;list-style:none;display:grid}.task-route-workspace-milestones li{background:#fff;gap:3px;padding:8px;display:grid}.task-route-workspace-evidence-links{flex-wrap:wrap;gap:8px;display:flex}.task-route-workspace-evidence-links a,.task-route-workspace-evidence-links>span{color:#2563eb;border:1px solid #2563eb;align-items:center;gap:6px;min-height:32px;padding:5px 10px;text-decoration:none;display:inline-flex}.task-route-workspace-evidence-links>span[aria-disabled=true]{color:#64748b;cursor:not-allowed;border-color:#e2e8f0}.task-route-workspace-evidence-links small{display:block}.task-route-workspace-table-scroll{border:1px solid #e2e8f0;max-width:100%;overflow-x:auto}.task-route-workspace-matrix table{border-collapse:collapse;background:#fff;width:100%;min-width:1100px;font-size:13px}.task-route-workspace-matrix th,.task-route-workspace-matrix td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:9px 10px}.task-route-workspace-matrix th{color:#64748b;white-space:nowrap;background:#f4f7fb;position:sticky;top:0}.task-route-workspace-matrix td:first-child{overflow-wrap:anywhere;max-width:220px}.task-route-workspace-matrix td:first-child button{overflow-wrap:anywhere;text-align:left;max-width:100%}.task-route-workspace-matrix-row--selected td{background:#f4f7fb}.task-route-workspace-matrix-evidence-state{background:#fff;border-left:4px solid #06b6d4;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.task-route-workspace-matrix-evidence-state--error{border-left-color:#ef4444}.task-route-workspace-matrix-evidence{gap:4px;display:grid}.task-route-workspace-matrix-evidence a{color:#2563eb;font-weight:700}.task-route-workspace-matrix-evidence span[aria-disabled=true]{color:#64748b}.task-route-workspace-matrix-pagination{color:#64748b;justify-content:flex-end;gap:10px;padding-top:10px}.task-route-workspace-header-actions button:focus-visible,.task-route-workspace-toolbar button:focus-visible,.task-route-workspace-toolbar input:focus-visible,.task-route-workspace-state button:focus-visible,.task-route-workspace-inspector button:focus-visible,.task-route-workspace-node:focus-visible,.task-route-workspace-branch:focus-visible,.task-route-workspace-tree-leaf:focus-visible,.task-route-workspace-matrix button:focus-visible,.task-route-workspace-back:focus-visible,.task-route-workspace-mobile-tree summary:focus-visible,.task-route-workspace-evidence-links a:focus-visible{outline-offset:2px;outline:3px solid #06b6d4}@media (width>=1024px){.task-route-workspace-graph{min-height:420px}}@media (width>=768px) and (width<=1023px){.task-route-workspace-axis{grid-template-columns:180px repeat(5,minmax(96px,1fr));min-width:660px}.task-route-workspace-branch{grid-template-columns:minmax(80px,.55fr) minmax(144px,2fr)}.task-route-workspace-branch-text{grid-column:2/-1}.task-route-workspace-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-route-workspace-milestones ol{grid-template-columns:repeat(5,minmax(96px,1fr))}}@media (width<=767px){.task-route-workspace-page,.task-route-workspace-toolbar,.task-route-workspace-mobile-tree,.task-route-workspace-inspector{width:100%;min-width:0;max-width:100%}.task-route-workspace-graph,.task-route-workspace-desktop-inspector{display:none}.task-route-workspace-mobile-tree{gap:8px;display:grid}.task-route-workspace-mobile-tree details{background:#fff;border:1px solid #e2e8f0;min-width:0}.task-route-workspace-mobile-tree details details{margin:0 8px 8px}.task-route-workspace-mobile-tree summary{overflow-wrap:anywhere;color:#0f172a;cursor:pointer;min-height:32px;padding:8px 10px;font-weight:800}.task-route-workspace-mobile-tree ul{gap:4px;margin:0;padding:0 8px 8px;list-style:none;display:grid}.task-route-workspace-tree-leaf{text-align:left;grid-template-columns:24px minmax(0,1fr);width:100%;padding:8px;display:grid}.task-route-workspace-tree-leaf>span:nth-of-type(2),.task-route-workspace-tree-leaf small{overflow-wrap:anywhere;color:#64748b;grid-column:2}.task-route-workspace-tree-leaf--error{border-left:4px solid #ef4444}.task-route-workspace-tree-leaf--warning{border-left:4px solid #f59e0b}.task-route-workspace-tree-leaf--active{border-left:4px solid #2563eb}.task-route-workspace-tree-leaf--complete{border-left:4px solid #22c55e}.task-route-workspace-tree-leaf--not_started{border-left:4px solid #94a3b8}.task-route-workspace-tree-leaf--quality-missing{border-top:2px dashed;border-bottom:2px dashed}.task-route-workspace-tree-leaf--quality-degraded{background-color:#fff;background-image:repeating-linear-gradient(135deg,#0000 0 8px,currentColor 8px 9px,#0000 9px 16px)}.task-route-workspace-batch{grid-template-columns:minmax(0,1fr)}.task-route-workspace-toolbar{align-items:stretch}.task-route-workspace-toolbar label,.task-route-workspace-toolbar input,.task-route-workspace-segmented{width:100%}.task-route-workspace-segmented button{flex:1}.task-route-workspace-evidence-grid,.task-route-workspace-milestones ol{grid-template-columns:minmax(0,1fr)}.task-route-workspace-inspector header,.task-route-workspace-matrix-pagination{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.task-route-workspace-branch{transition:none}}
