.progress-bar{gap:8px;display:grid}.progress-bar-track{background:#e2e8f0f5;border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#1d4ed8,#3b82f6);height:100%;transition:width .28s}.progress-bar-label{color:#64748b;font-size:12px;font-weight:600}.analysis-progress-card{border-radius:var(--radius-page-card);border:var(--surface-border);box-shadow:var(--surface-shadow);background:#fffffff5;gap:18px;padding:18px 20px;display:grid}.analysis-progress-card-compact{gap:16px;padding:16px 18px}.analysis-progress-card-collapsed{gap:0}.analysis-status-header{grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);align-items:start;gap:18px;display:grid}.analysis-status-kicker{color:#64748b;letter-spacing:.1em;font-size:11px;font-weight:700}.analysis-status-title,.analysis-progress-summary-title{color:#0f172a;margin-top:8px;font-size:20px;font-weight:800;line-height:1.3}.analysis-status-description,.analysis-progress-summary-text,.analysis-progress-action-copy{color:#334155;margin-top:8px;font-size:14px;line-height:1.68}.analysis-status-side{border-radius:var(--radius-card);background:#f8fafce6;border:1px solid #0f172a14;gap:12px;padding:14px;display:grid}.analysis-status-percent{color:#0f172a;font-size:30px;font-weight:800;line-height:1}.analysis-timer{flex-wrap:wrap;gap:10px;display:flex}.analysis-timer-item,.analysis-progress-target,.analysis-progress-output-empty{color:#64748b;font-size:12px;font-weight:500;line-height:1.6}.analysis-progress-grid{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:16px;display:grid}.analysis-progress-steps,.analysis-progress-block{border-radius:var(--radius-card);background:#f8fafceb;border:1px solid #0f172a14;padding:14px}.analysis-step-list{gap:10px;display:grid}.analysis-step-item{border-bottom:1px solid #e2e8f0d1;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid}.analysis-step-item:last-child{border-bottom:0;padding-bottom:0}.analysis-step-marker{border-radius:var(--radius-badge);color:#64748b;background:#fff;border:1px solid #cbd5e1d1;justify-content:center;align-items:center;min-height:34px;font-size:11px;font-weight:700;display:inline-flex}.analysis-step-item-current .analysis-step-marker{color:#1d4ed8;background:#dbeafef5;border-color:#60a5fa61}.analysis-step-item-done .analysis-step-marker{color:#047857;background:#ecfdf5f5;border-color:#34d39952}.analysis-step-label{color:#0f172a;font-size:14px;font-weight:700;line-height:1.5}.analysis-step-description{color:#64748b;margin-top:2px;font-size:12px;line-height:1.6}.analysis-progress-outputs{gap:14px;display:grid}.analysis-progress-block-title{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.analysis-progress-output-list{gap:8px;margin-top:12px;display:grid}.analysis-progress-output-item{color:#0f172a;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.analysis-progress-output-dot{background:#2563eb;border-radius:999px;flex-shrink:0;width:6px;height:6px}.analysis-progress-footer,.analysis-progress-summary,.analysis-progress-summary-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.analysis-progress-error{border-radius:var(--radius-card);color:#991b1b;background:#fef2f2c7;border:1px solid #f8717133;padding:10px 12px;font-size:13px;font-weight:600}.analysis-section-shell{gap:14px;display:grid}.analysis-section-shell-pending{opacity:.88}.analysis-section-note{color:#64748b;font-size:13px;line-height:1.65}.analysis-skeleton-stack{gap:12px;display:grid}.analysis-skeleton-card,.analysis-list-skeleton-item,.analysis-path-skeleton-stage{border-radius:var(--radius-card);background:#f8fafcd1;border:1px solid #e2e8f0e6;padding:14px 16px}.analysis-skeleton-title,.analysis-skeleton-line,.analysis-list-skeleton-index,.analysis-path-skeleton-chip{background:#e2e8f0e6;border-radius:999px;position:relative;overflow:hidden}.analysis-skeleton-title:after,.analysis-skeleton-line:after,.analysis-list-skeleton-index:after,.analysis-path-skeleton-chip:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.6s ease-in-out infinite analysisSkeletonMove;position:absolute;inset:0;transform:translate(-100%)}.analysis-skeleton-title{width:120px;height:12px;margin-bottom:12px}.analysis-skeleton-lines{gap:8px;display:grid}.analysis-skeleton-line{height:10px}.analysis-skeleton-line-long{width:100%}.analysis-skeleton-line-medium{width:72%}.analysis-skeleton-line-short{width:46%}.analysis-list-skeleton,.analysis-path-skeleton{gap:10px;display:grid}.analysis-list-skeleton-item{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;display:grid}.analysis-list-skeleton-index{width:28px;height:28px}.analysis-list-skeleton-main{gap:8px;display:grid}.analysis-path-skeleton-label{color:#475569;margin-bottom:12px;font-size:12px;font-weight:700}.analysis-path-skeleton-chip-row{flex-wrap:wrap;gap:8px;display:flex}.analysis-path-skeleton-chip{width:96px;height:28px}.analysis-path-skeleton-chip-wide{width:152px}.analysis-inline-card{border-radius:var(--radius-card);background:#eff6ff9e;border:1px dashed #3b82f63d;padding:12px 14px}.analysis-inline-kicker{color:#64748b;letter-spacing:.08em;font-size:11px;font-weight:700}.analysis-inline-title{color:#0f172a;margin-top:6px;font-size:14px;font-weight:700;line-height:1.5}.analysis-inline-text{color:#475569;margin-top:6px;font-size:13px;line-height:1.62}.analysis-section-pending-note{border-radius:var(--radius-card);color:#64748b;background:#f8fafcbf;border:1px solid #e2e8f0e6;padding:10px 12px;font-size:13px;line-height:1.65}.dashboard-progress-card,.workspace-progress-card,.drawer-progress-card{margin-bottom:8px}.dashboard-focus-card-running,.workspace-project-card-running{border-color:#3b82f62e;box-shadow:0 12px 28px #2563eb14}.dashboard-focus-progress,.workspace-project-progress{margin-top:12px}@keyframes analysisSkeletonMove{to{transform:translate(100%)}}@media (max-width:1100px){.analysis-status-header,.analysis-progress-grid{grid-template-columns:1fr}.analysis-progress-summary,.analysis-progress-summary-actions,.analysis-progress-footer{flex-direction:column;align-items:stretch}}
.materials-panel{border-radius:var(--radius-page-card);border:var(--surface-border);min-width:0;box-shadow:var(--surface-shadow);background:#fffffff5;flex-direction:column;gap:16px;padding:20px;display:flex}.materials-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.materials-panel-title-group{gap:4px;display:grid}.materials-panel-kicker{color:#64748b;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.materials-panel-title{color:#0f172a;font-size:20px;font-weight:700;line-height:1.35}.materials-panel-subtitle{color:#64748b;font-size:13px;line-height:1.6}.materials-panel-meta{justify-items:end;gap:6px;min-width:0;display:grid}.materials-panel-upload-trigger{flex-shrink:0;align-items:center;gap:10px;min-height:38px;display:inline-flex;position:relative}.materials-panel-upload-label{color:#64748b;white-space:nowrap;font-size:12px;font-weight:600;line-height:1}.materials-panel-stats,.materials-panel-binding{color:#475569;font-size:12px;font-weight:500;line-height:1.55}.materials-panel-dot,.materials-row-dot{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:4px;height:4px}.materials-dropzone{text-align:center;border-radius:var(--radius-page-card);cursor:pointer;background:#f8fafce6;border:1px dashed #94a3b86b;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;padding:22px 18px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative}.materials-dropzone:hover{background:#fffffffa;border-color:#3b82f64d;box-shadow:0 10px 28px #0f172a0d}.materials-dropzone-active{background:#eff6ffe6;border-color:#3b82f661;box-shadow:0 10px 28px #0f172a0f}.materials-dropzone-disabled{opacity:.7;cursor:not-allowed}.materials-dropzone-compact{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;min-height:94px;padding:14px 16px}.materials-dropzone-icon{border-radius:var(--radius-card);color:#1d4ed8;background:#dbeafeb8;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:700;display:inline-flex}.materials-dropzone-copy{gap:4px;min-width:0;display:grid}.materials-dropzone-title{color:#0f172a;font-size:15px;font-weight:700;line-height:1.45}.materials-dropzone-subtitle{color:#64748b;font-size:12px;line-height:1.6}.materials-upload-button{border-radius:var(--radius-button);color:#1e3a8a;background:#fff;border:1px solid #0f172a14;flex-shrink:0;justify-content:center;align-items:center;min-width:96px;height:38px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.materials-upload-button-compact{min-width:88px;height:34px}.materials-upload-button-disabled{color:#94a3b8}.materials-native-input{opacity:0;cursor:pointer;position:absolute;inset:0}.materials-list-card{border-radius:var(--radius-card);background:#f8fafce6;border:1px solid #0f172a14;min-width:0;padding:12px}.materials-list-scroll{max-height:280px;padding-right:4px;overflow-y:auto}.materials-list{flex-direction:column;gap:10px;display:flex}.materials-row{border-radius:var(--radius-card);background:#fff;border:1px solid #0f172a14;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.materials-row-icon{border-radius:var(--radius-control);letter-spacing:.05em;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;min-width:48px;height:40px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.materials-row-icon-pdf{color:#b91c1c;background:#fee2e2e6;border-color:#f8717138}.materials-row-icon-image{color:#0369a1;background:#e0f2fee0;border-color:#38bdf838}.materials-row-icon-doc{color:#1d4ed8;background:#dbeafee0;border-color:#60a5fa38}.materials-row-icon-sheet{color:#047857;background:#d1fae5e6;border-color:#34d39938}.materials-row-icon-archive{color:#7c2d12;background:#ffedd5eb;border-color:#fb923c38}.materials-row-icon-default{color:#334155;background:#f1f5f9f5;border-color:#94a3b82e}.materials-row-main{flex:1;gap:6px;min-width:0;display:grid}.materials-row-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;line-height:1.45;overflow:hidden}.materials-row-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;line-height:1.5;display:inline-flex}.materials-row-tags{flex-wrap:wrap;gap:6px;display:flex}.materials-row-actions{flex-shrink:0}.materials-remove-btn{border-radius:var(--radius-button);color:#1e3a8a;cursor:pointer;background:#fff;border:1px solid #0f172a14;width:64px;height:32px;padding:0 12px;font-size:12px;font-weight:600}.materials-remove-btn:hover:not(:disabled){background:#eff6ffd9;border-color:#3b82f63d}.materials-remove-btn:disabled{color:#94a3b8;cursor:not-allowed}.materials-tag{border-radius:var(--radius-badge);white-space:nowrap;border:1px solid #0f172a14;align-items:center;height:24px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.materials-tag-category{color:#475569;background:#f1f5f9f5}.materials-tag-source{color:#1d4ed8;background:#eff6ffe6}.materials-tag-status{color:#475569;background:#f8fafcf5}.materials-tag-status-pending_reanalysis{color:#c2410c;background:#ffedd5e6}.materials-tag-status-consumed{color:#15803d;background:#dcfce7e0}@media (max-width:900px){.materials-panel-meta{justify-items:start}.materials-panel-upload-trigger{justify-content:space-between;width:100%}}.materials-empty-state{color:#64748b;padding:10px 6px 4px;font-size:13px;line-height:1.65}.materials-reanalyze-bar{border-radius:var(--radius-card);background:#f8fafcf0;border:1px solid #0f172a14;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.materials-reanalyze-bar-active{background:#eff6ffe0;border-color:#60a5fa38}.materials-reanalyze-copy{gap:4px;min-width:0;display:grid}.materials-reanalyze-title{color:#0f172a;font-size:14px;font-weight:700;line-height:1.45}.materials-reanalyze-meta{color:#64748b;font-size:12px;line-height:1.55}.materials-reanalyze-btn{border-radius:var(--radius-button);color:#fff;cursor:pointer;background:#0f172a;border:none;flex-shrink:0;min-width:104px;height:36px;padding:0 14px;font-size:12px;font-weight:700}.materials-reanalyze-btn:disabled{color:#94a3b8;cursor:not-allowed;background:#e2e8f0}.material-upload-drawer{width:min(620px,100vw)}.material-upload-header{gap:6px;display:grid}.material-upload-kicker{color:#64748b;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.material-upload-title{color:#0f172a;font-size:28px;font-weight:700;line-height:1.25}.material-upload-copy{color:#64748b;font-size:14px;line-height:1.6}.material-upload-context{border-radius:var(--radius-card);background:#f8fafceb;border:1px solid #0f172a14;gap:12px;padding:16px 18px;display:grid}.material-upload-context-title{color:#0f172a;font-size:14px;font-weight:700;line-height:1.45}.material-upload-context-copy{color:#64748b;font-size:13px;line-height:1.65}.material-upload-suggestions{flex-wrap:wrap;gap:8px;display:flex}.material-upload-suggestion{border-radius:var(--radius-badge);color:#1d4ed8;white-space:nowrap;background:#eff6ffeb;border:1px solid #60a5fa2e;align-items:center;height:28px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.material-upload-preview{gap:10px;display:grid}.material-upload-preview-title{color:#334155;font-size:13px;font-weight:700;line-height:1.5}.material-upload-footer{justify-content:flex-end;gap:10px;display:flex}.structure-inline-hint{border-radius:var(--radius-card);background:#f8fafcf0;border:1px solid #0f172a14;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.structure-inline-hint-copy{color:#475569;font-size:13px;line-height:1.6}.structure-inline-hint-warning{background:#fff7edf5;border-color:#fb923c33}.structure-inline-hint-success{background:#f0fdf4f5;border-color:#22c55e2e}.action-material-meta{color:#64748b;font-size:12px;line-height:1.55}@media (max-width:960px){.materials-panel-header,.materials-reanalyze-bar{flex-direction:column;align-items:stretch}.materials-panel-meta{justify-items:start}.materials-dropzone-compact{flex-direction:column;align-items:flex-start}.materials-upload-button,.materials-reanalyze-btn{width:100%}}

