@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}a{color:inherit}.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-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}.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}.summary-grid{grid-template-columns:repeat(4,minmax(0,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}.review-list-actions{flex-wrap:nowrap;align-items:center;min-width:132px;display:inline-flex}.review-list-action.ant-btn{white-space:nowrap;border:none;border-radius:999px;flex:0 0 56px;justify-content:center;align-items:center;width:56px;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}.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}.sampling-task-package-row{gap:14px}.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;font-size:16px;font-weight:700;line-height:1.35}.sampling-task-package-row-subtitle{color:#64748b;margin-top:4px;font-size:13px}.sampling-task-package-meta-grid,.sampling-task-package-summary-grid{gap:12px;display:grid}.sampling-task-package-meta-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px}.sampling-task-package-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.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:1fr 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{grid-template-columns:repeat(3,minmax(100px,1fr))}}@media (width<=960px){.sampling-task-assignment-row{grid-template-columns:1fr 1fr}.sampling-task-package-meta-grid{grid-template-columns:repeat(2,minmax(120px,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<=768px){.sampling-task-package-meta-grid,.sampling-task-package-summary-grid,.sampling-task-assignment-row{grid-template-columns:minmax(0,1fr)}.sampling-task-package-row-master:before{inset:0 auto 0 -20px}}.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-toolbar{align-items:stretch}.project-workspace-search{max-width:360px}.project-workspace-filter{min-width:180px}.project-workspace-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;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:#fff;border:none;border-radius:16px;width:100%;padding:20px;transition:box-shadow .2s,transform .2s;box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a3514,0 4px 8px #222a350d}.project-workspace-card:hover{transform:translateY(-1px);box-shadow:0 1px 5px -4px #131316b3,0 0 0 1px #222a351a,0 10px 20px #222a3514}.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:#3b82f6;letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:700}.project-workspace-name{color:#111;margin-top:10px;font-size:14px;font-weight:700;line-height:1.35}.project-workspace-meta-row{color:#898989;flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-size:13px;line-height:1.5;display:flex}.project-workspace-stats{background:#fafafa;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #e2e8f0d9}.project-workspace-stat-item{min-width:0}.project-workspace-stats strong{color:#111;word-break:break-word;margin-top:8px;font-size:11px;font-weight:700;line-height:1.35;display:block}.project-workspace-stat-label{color:#898989;letter-spacing:.02em;white-space:nowrap;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:#242424;flex-shrink:0;align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.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(2,minmax(0,1fr))}.project-batch-row,.project-detail-hero-main{flex-direction:column;align-items:stretch}}@media (width<=560px){.project-workspace-stats{grid-template-columns:1fr}}.detail-hero-meta{color:#64748b;margin-top:8px;font-size:13px}@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,.sampling-task-detail-flow-card>.section-card{height:100%}.project-detail-layout{align-items:flex-start;gap:24px;display:flex}.project-detail-main{flex:1;min-width:0}.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-summary-grid,.project-review-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.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,.project-rail-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.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{flex-shrink:0;width:320px}.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}.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{color:#0f172a;max-width:520px;margin:18px 0 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}.summary-grid,.upload-panel{grid-template-columns:1fr 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-fill,minmax(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-location-picker{flex-direction:column;gap:10px;display:flex}.dispatch-location-picker-actions{align-items:center;display:flex}.dispatch-location-picker-map-wrap{border:1px solid #dbe3f0;border-radius:14px;overflow:hidden}.dispatch-location-picker-map{min-height:240px}.dispatch-location-picker-map .leaflet-control-attribution{font-size:10px}.task-card-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.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}.app-content{padding:18px}.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}.dispatch-grid{grid-template-columns:1fr 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-layout{gap:24px;display:flex}.report-detail-main{flex:1;min-width:0}.report-detail-rail{flex-shrink:0;width:320px}.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}.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-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-tag-summary-grid{grid-template-columns:1fr}.project-tag-summary-header{flex-direction:column;align-items:stretch}}.pm-list-summary{grid-template-columns:repeat(4,minmax(0,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{border-bottom:1px solid #f5f5f5}.pm-list-table-card .ant-table-tbody>tr:hover>td{background:#fafafa}.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(2,minmax(0,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{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1024px){.di-layout{grid-template-columns:1fr}}.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;-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-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-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:center;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-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-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}
