/* Approved project workspace direction; dimensions are scoped engineering choices. */
.ps-app.ps-project-mode  {grid-template-columns:160px minmax(0,1fr);--action:#2769d5;--surface-selected:#edf4ff;--surface-hover:#edf3fa;--pw-solid:#2769d5;--pw-preview-width:320px;--pw-preview-height:180px}
.ps-app.ps-project-mode:where(body.dark *)  {--action:#9bcaff;--surface-selected:#193b5b;--surface-hover:#203a53;--ps-bg:#102236}
.ps-app.ps-project-mode > main.ps-content  {display:block;padding:0;min-width:0}
.ps-app.ps-project-mode .ps-project-mode .ps-sidebar-lamp {display:none}
.ps-app.ps-project-mode .ps-project-mode .ps-storage {margin-top:auto}
.ps-app.ps-project-mode .pw-layout {display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100dvh - var(--studio-nav-height,70px))}
.ps-app.ps-project-mode .pw-layout header {position:static;width:auto;height:auto;padding:0;margin:0;box-shadow:none;background:transparent}
.ps-app.ps-project-mode .pw-layout nav {flex-direction:row;justify-content:flex-start;width:auto;margin:0;padding:0}
.ps-app.ps-project-mode .pw-layout :is(button,input,textarea,select,summary) {font:inherit}
.ps-app.ps-project-mode .pw-layout :is(button,summary) {cursor:pointer}
.ps-app.ps-project-mode .pw-layout button {display:inline-block;width:auto;height:auto;flex:initial;margin:0;min-height:30px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;box-shadow:none}
.ps-app.ps-project-mode .pw-layout button:hover,.ps-app.ps-project-mode .pw-layout summary:hover {background:var(--surface-hover,#edf3fa)}
.ps-app.ps-project-mode .pw-layout :is(button,a,summary,input):focus-visible {outline:2px solid var(--action,#2769d5);outline-offset:2px}
.ps-app.ps-project-mode .pw-layout svg {width:18px;height:18px;flex-shrink:0}
.ps-app.ps-project-mode .pw-layout :is(h1,h2,h3,p) {margin:0}
.ps-app.ps-project-mode .pw-layout :is(h1,h2,h3) {font-family:var(--sprout-font-ui,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif)}
.ps-app.ps-project-mode .pw-layout h1 {font-size:20px;font-weight:600;line-height:1.5}
.ps-app.ps-project-mode .pw-layout h2 {font-size:var(--sprout-type-section-title-size);font-weight:var(--sprout-type-section-title-weight);line-height:var(--sprout-type-section-title-line)}
.ps-app.ps-project-mode .pw-layout h3 {font-size:14px;font-weight:500;line-height:22px;margin:0 0 8px}
.ps-app.ps-project-mode .pw-layout small {font-size:12px;color:var(--ps-muted);font-weight:400}
.ps-app.ps-project-mode .pw-project-rail {padding:12px;border-right:1px solid var(--ps-line);background:var(--ps-paper);min-width:0}
.ps-app.ps-project-mode .pw-project-rail > header {display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ps-app.ps-project-mode .pw-project-rail h1 {font-size:18px}
.ps-app.ps-project-mode .pw-tabs {display:flex;gap:12px;align-items:center;min-height:36px;flex-wrap:wrap}
.ps-app.ps-project-mode .pw-layout .pw-tabs button {border-radius:0;padding:6px 0;border:0;border-bottom:2px solid transparent;font-weight:400;font-size:var(--sprout-type-section-title-size);line-height:var(--sprout-type-section-title-line);white-space:nowrap}
.ps-app.ps-project-mode .pw-tabs button:is([aria-pressed="true"],[aria-selected="true"]) {color:var(--action,#2769d5);border-bottom-color:currentColor}
.ps-app.ps-project-mode .pw-project-rail .pw-tabs {gap:10px;margin-bottom:8px}
.ps-app.ps-project-mode .pw-project-rail .pw-tabs button {font-size:13px}
.ps-app.ps-project-mode .pw-search {display:flex;align-items:center;gap:8px;border:1px solid var(--ps-line);border-radius:4px;background:var(--ps-paper);padding:4px 8px;min-width:0;height:34px}
.ps-app.ps-project-mode .pw-search input {border:0;background:transparent;color:var(--ps-text);width:100%;min-width:0;padding:0;outline-offset:6px}
.ps-app.ps-project-mode .pw-search svg {color:var(--ps-muted)}
.ps-app.ps-project-mode .pw-project-list {display:flex;flex-direction:column;gap:4px;margin-top:10px}
.ps-app.ps-project-mode .pw-layout .pw-project-list > button {display:flex;gap:10px;text-align:left;width:100%;padding:12px 8px;border-left:2px solid transparent;border-radius:0;min-width:0}
.ps-app.ps-project-mode .pw-project-list > button[aria-current="true"] {background:var(--surface-selected,#edf4ff);border-left-color:var(--action,#2769d5)}
.ps-app.ps-project-mode .pw-project-list > button > span:last-child {display:grid;gap:4px;min-width:0}
.ps-app.ps-project-mode .pw-project-list :is(strong,small) {display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ps-app.ps-project-mode .pw-project-list strong {font-size:14px;font-weight:500}
.ps-app.ps-project-mode .pw-project-list .pw-status {width:max-content}
.ps-app.ps-project-mode .pw-status {font-size:12px;font-weight:400;line-height:20px;color:var(--action,#2769d5);background:var(--surface-selected,#edf4ff);padding:0 4px;border-radius:2px}
.ps-app.ps-project-mode .pw-file-icon {color:var(--action,#2769d5);display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:28px}
.ps-app.ps-project-mode .pw-main {padding:12px;min-width:0}
.ps-app.ps-project-mode .pw-project-head {display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px}
.ps-app.ps-project-mode .pw-project-head > div:first-child {min-width:0;flex:1}
.ps-app.ps-project-mode .pw-breadcrumb {color:var(--ps-muted);font-size:12px;margin-bottom:4px!important}
.ps-app.ps-project-mode .pw-title {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ps-app.ps-project-mode .pw-title h1 {overflow-wrap:anywhere}
.ps-app.ps-project-mode .pw-goal {color:var(--ps-muted);font-size:13px;line-height:21px;margin-top:4px!important;max-width:72ch}
.ps-app.ps-project-mode .pw-head-tools {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:340px}
.ps-app.ps-project-mode .pw-head-tools > button,.ps-app.ps-project-mode .pw-head-tools > details > summary {border:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-layout .ps-primary {background:var(--pw-solid);color:#fff;border-color:transparent}
.ps-app.ps-project-mode .pw-layout .ps-primary:hover {filter:brightness(.96);background:var(--pw-solid)}
.ps-app.ps-project-mode .pw-progress {display:grid;gap:6px;font-size:12px;color:var(--ps-muted);width:100%;max-width:280px}
.ps-app.ps-project-mode .pw-progress progress {width:100%;height:5px;appearance:none;border:0;border-radius:2px;background:var(--ps-line)}
.ps-app.ps-project-mode .pw-progress progress::-webkit-progress-bar {background:var(--ps-line);border-radius:2px}
.ps-app.ps-project-mode .pw-progress progress::-webkit-progress-value {background:var(--action,#2769d5);border-radius:2px}
.ps-app.ps-project-mode .pw-progress progress::-moz-progress-bar {background:var(--action,#2769d5)}
.ps-app.ps-project-mode .pw-workspace-bar {display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ps-line);margin-bottom:12px}
.ps-app.ps-project-mode .pw-workspace-bar .pw-search {width:240px;margin-bottom:6px}
.ps-app.ps-project-mode .pw-grid {display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;align-items:start}
.ps-app.ps-project-mode .pw-content-stack,.ps-app.ps-project-mode .pw-side-stack {display:grid;gap:12px;min-width:0}
.ps-app.ps-project-mode .pw-panel {padding:12px;border:1px solid var(--ps-line);border-radius:4px;background:var(--ps-paper);min-width:0;box-shadow:none}
.ps-app.ps-project-mode .pw-panel > header {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;min-height:24px}
.ps-app.ps-project-mode .pw-panel h2 {display:flex;align-items:center;gap:8px}
.ps-app.ps-project-mode .pw-section-actions {display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.ps-app.ps-project-mode .pw-section-actions button {padding:0 4px;font-size:12px;color:var(--action,#2769d5);min-height:24px}
.ps-app.ps-project-mode .pw-resource-panels {display:grid;grid-template-columns:1.35fr 1fr;gap:12px;min-width:0}
.ps-app.ps-project-mode .pw-media-grid {display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.ps-app.ps-project-mode .pw-media-card {min-width:0;flex:0 1 var(--pw-preview-width);width:var(--pw-preview-width);max-width:100%}
.ps-app.ps-project-mode .pw-media-card .pw-cover {padding:0;width:100%;aspect-ratio:16/9;background:var(--ps-bg);border:1px solid var(--ps-line);overflow:hidden;display:flex;align-items:center;justify-content:center}
.ps-app.ps-project-mode .pw-cover img {width:100%;height:100%;object-fit:contain;display:block}
.ps-app.ps-project-mode .pw-image-grid .pw-cover img {object-fit:cover}
.ps-app.ps-project-mode .pw-cover-fallback {display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ps-muted);font-size:12px}
.ps-app.ps-project-mode .pw-cover-fallback svg {width:28px;height:28px}
.ps-app.ps-project-mode .pw-doc-row {display:flex;align-items:center;gap:8px;min-width:0;min-height:50px;border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-doc-row:last-child {border:0}
.ps-app.ps-project-mode .pw-doc-copy {min-width:0;flex:1}
.ps-app.ps-project-mode .pw-layout .pw-doc-copy button,.ps-app.ps-project-mode .pw-doc-copy a {color:var(--ps-text);min-height:22px;padding:0;display:block;max-width:100%;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none;font-weight:400}
.ps-app.ps-project-mode .pw-doc-copy a:hover {color:var(--action,#2769d5);text-decoration:underline}
.ps-app.ps-project-mode .pw-doc-copy a svg {width:12px;height:12px;vertical-align:middle}
.ps-app.ps-project-mode .pw-doc-copy small {display:block}
.ps-app.ps-project-mode .pw-layout .pw-more {display:block;margin:6px 0 0 auto;color:var(--action,#2769d5);font-size:12px;padding:0;min-height:24px}
.ps-app.ps-project-mode .pw-layout details {position:relative}
.ps-app.ps-project-mode .pw-layout details > summary {list-style:none;padding:4px 8px;min-height:30px;border-radius:4px}
.ps-app.ps-project-mode .pw-layout details > summary::-webkit-details-marker {display:none}
.ps-app.ps-project-mode .pw-layout :is(.pw-row-menu,.pw-project-menu,.pw-new-menu) > div {position:absolute;right:0;top:100%;z-index:30;display:grid;min-width:150px;border:1px solid var(--ps-line);border-radius:4px;background:var(--ps-paper);padding:4px;box-shadow:0 4px 14px #00000012}
.ps-app.ps-project-mode .pw-layout :is(.pw-row-menu,.pw-project-menu,.pw-new-menu) > div > button {text-align:left;white-space:nowrap}
.ps-app.ps-project-mode .pw-row-menu summary {color:var(--ps-muted);padding:2px 4px!important}
.ps-app.ps-project-mode .pw-side-stack .pw-tabs {margin-bottom:6px}
.ps-app.ps-project-mode .pw-side-stack .pw-tabs button {font-size:13px}
.ps-app.ps-project-mode .pw-task-row {display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-task-row:last-child {border:0}
.ps-app.ps-project-mode .pw-task-row input {accent-color:var(--action,#2769d5);margin:4px 0 0;width:16px;height:16px;flex-shrink:0}
.ps-app.ps-project-mode .pw-task-row > div {min-width:0;flex:1}
.ps-app.ps-project-mode .pw-task-row button {display:block;padding:0;min-height:22px;text-align:left;overflow-wrap:anywhere}
.ps-app.ps-project-mode .pw-task-row time {font-size:12px;color:var(--ps-muted)}
.ps-app.ps-project-mode .pw-task-row.is-done button {text-decoration:line-through;color:var(--ps-muted)}
.ps-app.ps-project-mode .pw-report-list article {display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-report-list article:last-child {border:0}
.ps-app.ps-project-mode .pw-report-list article > div {min-width:0;flex:1}
.ps-app.ps-project-mode .pw-report-list button {display:block;padding:0;text-align:left;min-height:24px;overflow-wrap:anywhere}
.ps-app.ps-project-mode .pw-report-list small {display:block}
.ps-app.ps-project-mode .pw-report-list article > button {color:var(--action,#2769d5);font-size:12px;flex-shrink:0}
.ps-app.ps-project-mode .pw-exploration article {display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-exploration article:last-child {border:0}
.ps-app.ps-project-mode .pw-exploration article > div {flex:1;min-width:0}
.ps-app.ps-project-mode .pw-exploration button {text-align:left;padding:0;min-height:22px}
.ps-app.ps-project-mode .pw-exploration p {color:var(--ps-muted);font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ps-app.ps-project-mode .pw-summary {white-space:pre-wrap}
.ps-app.ps-project-mode .pw-empty {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:16px 4px;font-size:13px;color:var(--ps-muted);text-align:center}
.ps-app.ps-project-mode .pw-empty button {color:var(--action,#2769d5)}
.ps-app.ps-project-mode .pw-load-note,.ps-app.ps-project-mode .pw-image-error {font-size:12px;color:var(--ps-muted)}
.ps-app.ps-project-mode .pw-assistant > summary {padding:0!important;color:var(--ps-muted);font-size:12px!important;min-height:24px!important}
.ps-app.ps-project-mode .pw-assistant > summary::after {content:'⌄';float:right}
.ps-app.ps-project-mode .pw-assistant form {display:grid;gap:8px;margin-top:8px}
.ps-app.ps-project-mode .pw-assistant textarea {width:100%;background:var(--ps-paper);border:1px solid var(--ps-line);border-radius:4px;color:var(--ps-text);resize:vertical}
#ps-dialog .pw-period-fields  {display:grid;grid-template-columns:1fr 1fr;gap:12px}
#ps-dialog [data-pw-ai-report]  {border:1px solid var(--ps-line);background:transparent;color:var(--action,#2769d5)}
#ps-dialog #pw-ai-status  {font-size:12px;color:var(--ps-muted)}
#reader-creation.rc-standalone .rc-head h2  {color:#22344d}
@media (max-width:1300px) {
.ps-app.ps-project-mode .pw-layout {grid-template-columns:190px minmax(0,1fr)}
.ps-app.ps-project-mode .pw-grid {grid-template-columns:minmax(0,1fr) 250px}
.ps-app.ps-project-mode .pw-resource-panels {grid-template-columns:1fr}
.ps-app.ps-project-mode .pw-project-head {flex-wrap:wrap}
.ps-app.ps-project-mode .pw-head-tools {max-width:none}
.ps-app.ps-project-mode .pw-progress {width:200px;align-self:center}
}
@media (max-width:1000px) {
.ps-app.ps-project-mode .pw-grid {grid-template-columns:minmax(0,1fr)}
.ps-app.ps-project-mode .pw-side-stack {grid-template-columns:1fr 1fr}
.ps-app.ps-project-mode .pw-side-stack > :first-child {grid-column:1/-1}
.ps-app.ps-project-mode .pw-project-rail {padding:8px}
.ps-app.ps-project-mode .pw-layout {grid-template-columns:180px minmax(0,1fr)}
}
@media (max-width:760px) {
 .ps-app.ps-project-mode  {grid-template-columns:minmax(0,1fr)}
.ps-app.ps-project-mode .pw-layout {grid-template-columns:minmax(0,1fr)}
.ps-app.ps-project-mode .pw-project-list {max-height:170px;overflow:auto}
.ps-app.ps-project-mode .pw-workspace-bar {flex-wrap:wrap}
.ps-app.ps-project-mode .pw-workspace-bar .pw-search {width:100%}
.ps-app.ps-project-mode .pw-side-stack {grid-template-columns:minmax(0,1fr)}
}

/* Whole panels receive pasted or dropped files; only empty content shows a hint. */
.ps-app.ps-project-mode .pw-upload-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:100px;color:var(--ps-muted);font-size:13px;text-align:center}
.ps-app.ps-project-mode :is(#pw-ppt,#pw-image) .pw-upload-empty{min-height:var(--pw-preview-height)}
.ps-app.ps-project-mode .pw-upload-empty svg{width:24px;height:24px}
.ps-app.ps-project-mode .pw-panel[data-pw-upload-area]:focus-visible{outline:1px solid var(--action);outline-offset:2px}
.ps-app.ps-project-mode .pw-panel.pw-drop-active{box-shadow:inset 0 0 0 1px var(--action);background:var(--surface-selected)}
.ps-app.ps-project-mode #pw-documents>header{align-items:center;flex-wrap:wrap}
.ps-app.ps-project-mode .pw-document-tabs{gap:16px;flex-wrap:nowrap}
.ps-app.ps-project-mode .pw-document-tabs small{margin-left:4px}
.ps-app.ps-project-mode .pw-panel [role="tabpanel"][hidden]{display:none}
.ps-app.ps-project-mode .pw-layout .pw-task-attachment{display:block;padding:0;min-height:22px;color:var(--action);font-size:12px;text-align:left}

/* 文档区与右侧面板之间去间隔、以竖线分隔；总览右侧改放文档摘要（2026-11-02） */
.ps-app.ps-project-mode .pw-resource-panels {gap:0}
.ps-app.ps-project-mode .pw-resource-panels > .pw-panel:first-child {border-top-right-radius:0;border-bottom-right-radius:0}
.ps-app.ps-project-mode .pw-resource-panels > .pw-panel + .pw-panel {border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
.ps-app.ps-project-mode .pw-summary-rows article {display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-summary-rows article:last-child {border:0}
.ps-app.ps-project-mode .pw-summary-rows .pw-doc-copy {min-width:0;flex:1}
.ps-app.ps-project-mode .pw-summary-rows .pw-doc-copy button {display:block;padding:0;min-height:22px;color:var(--ps-text);text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%}
.ps-app.ps-project-mode .pw-summary-rows p {margin:2px 0 0;color:var(--ps-muted);font-size:12px;line-height:18px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:1300px) {
.ps-app.ps-project-mode .pw-resource-panels > .pw-panel:first-child {border-radius:4px}
.ps-app.ps-project-mode .pw-resource-panels > .pw-panel + .pw-panel {border-left:1px solid var(--ps-line);border-radius:4px}
}

/* 拖文件到项目页任意位置自动按类型归类（2026-11-02） */
.ps-app.ps-project-mode .pw-main.pw-drop-active {outline:2px dashed var(--action,#2769d5);outline-offset:-6px;border-radius:4px}

/* tab 栏底部通栏直线分隔；项目列表项之间直线分隔（2026-11-02） */
.ps-app.ps-project-mode .pw-tabs {border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-tabs button {margin-bottom:-1px}
.ps-app.ps-project-mode .pw-project-list {gap:0}
.ps-app.ps-project-mode .pw-project-list > button {border-bottom:1px solid var(--ps-line)}
.ps-app.ps-project-mode .pw-project-list > button:last-child {border-bottom:0}

/* 新建项目按钮移到左栏列表底部（2026-11-02） */
.ps-app.ps-project-mode .pw-project-rail > header {justify-content:flex-start}
.ps-app.ps-project-mode .pw-add-project {display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 8px);margin:6px 4px 4px;padding:7px 10px;border:1px dashed var(--ps-line);border-radius:6px;background:none;color:var(--ps-muted,#64748b);font:inherit;font-size:13px;cursor:pointer}
.ps-app.ps-project-mode .pw-add-project:hover {color:var(--action,#2769d5);border-color:var(--action,#2769d5)}
