.product-development { margin-top: 14px; color: var(--ink); }
.main-content:not(.view-product-development) .product-development { display: none !important; }
.main-content.view-product-development .stat-strip,
.main-content.view-product-development .workspace-grid,
.main-content.view-product-development #developmentArchitecture,
.main-content.view-product-development .results-section,
.main-content.view-product-development .board-section,
.main-content.view-product-development .team-section { display: none; }
.pd-shell { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.pd-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px; border-bottom: 1px solid var(--soft-line); }
.pd-topline h2 { margin: 0; font-family: "Manrope", "Noto Sans SC", sans-serif; font-size: 18px; letter-spacing: 0; }
.pd-topline p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.pd-top-actions, .pd-tabs, .pd-project-meta, .pd-stage-actions, .pd-composer-actions, .pd-utility-actions { display: flex; align-items: center; gap: 8px; }
.pd-view { padding: 18px; }
.pd-home-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(285px, .8fr); gap: 18px; }
.pd-home-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--soft-line); }
.pd-home-heading h3, .pd-pane-heading h3, .pd-side-title { margin: 0; color: #314b5d; font-size: 14px; letter-spacing: 0; }
.pd-home-heading p, .pd-side-note { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.pd-project-list { display: grid; }
.pd-project-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 11px 1px; border: 0; border-bottom: 1px solid var(--soft-line); color: #314b5d; background: transparent; text-align: left; }
.pd-project-row:hover { color: #176a9f; background: #f7fbfd; }
.pd-project-row strong, .pd-project-row span, .pd-project-row small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pd-project-row strong { font-size: 12px; }
.pd-project-row span { margin-top: 3px; color: #647b8c; font-size: 10px; font-weight: 700; }
.pd-project-row small { margin-top: 3px; color: #8a9ba6; font-size: 10px; }
.pd-status { display: inline-flex; align-items: center; min-height: 23px; padding: 0 6px; border-radius: 4px; color: #536d7e; background: #eef3f5; font-size: 9px; font-weight: 800; white-space: nowrap; }
.pd-status.awaiting_confirmation { color: #976800; background: #fff0d2; }
.pd-status.completed { color: #1a775d; background: #e5f3ec; }
.pd-status.collecting_context, .pd-status.analyzing { color: #216b9d; background: #e7f2fb; }
.pd-start-panel { padding: 16px; border-left: 1px solid var(--soft-line); background: #fbfdfe; }
.pd-start-panel h3 { margin: 0; color: #314b5d; font-size: 14px; }
.pd-start-panel p { margin: 5px 0 14px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.pd-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.pd-form-grid label, .pd-composer label { display: grid; gap: 6px; color: #617484; font-size: 11px; font-weight: 700; }
.pd-form-grid input, .pd-form-grid select, .pd-composer textarea { width: 100%; border: 1px solid #cfd9e0; border-radius: 5px; color: var(--ink); background: #fff; font: inherit; font-size: 12px; }
.pd-form-grid input, .pd-form-grid select { height: 35px; padding: 0 9px; }
.pd-form-grid .pd-span-2 { grid-column: span 2; }
.pd-workflow-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 8px 0 2px; }
.pd-workflow-choice { display: grid; min-height: 61px; gap: 3px; padding: 8px; border: 1px solid #dce6eb; border-radius: 5px; color: #4c6778; background: #fff; text-align: left; font-size: 10px; font-weight: 700; }
.pd-workflow-choice:hover, .pd-workflow-choice.active { border-color: #90bedf; color: #176b9f; background: #edf7fc; }
.pd-workflow-choice small { color: #8496a2; font-size: 9px; font-weight: 600; line-height: 1.35; }
.pd-empty { display: grid; place-items: center; min-height: 132px; color: #8798a4; font-size: 12px; text-align: center; }
.pd-project-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 15px 18px 13px; border-bottom: 1px solid var(--soft-line); }
.pd-project-header h3 { margin: 0; font-family: "Manrope", "Noto Sans SC", sans-serif; font-size: 16px; letter-spacing: 0; }
.pd-project-meta { flex-wrap: wrap; margin-top: 6px; color: #6f8390; font-size: 10px; font-weight: 700; }
.pd-project-meta span { display: inline-flex; align-items: center; min-height: 22px; padding: 0 6px; border-radius: 4px; background: #eef3f5; }
.pd-tabs { overflow: auto; padding: 8px 18px; border-bottom: 1px solid var(--soft-line); background: #fbfcfd; }
.pd-tab { height: 29px; flex: 0 0 auto; padding: 0 9px; border: 0; border-radius: 4px; color: #677c8b; background: transparent; font-size: 10px; font-weight: 800; }
.pd-tab:hover { color: #1f6c9d; background: #eef6fa; }
.pd-tab.active { color: #195f8e; background: #e5f1f9; }
.pd-workspace { display: grid; grid-template-columns: 212px minmax(360px, 1fr) 284px; min-height: 560px; }
.pd-pane { min-width: 0; }
.pd-stages, .pd-evidence { border-right: 1px solid var(--soft-line); background: #fbfcfd; }
.pd-stages { display: flex; min-height: 0; max-height: 640px; flex-direction: column; overflow: hidden; }
.pd-evidence { border-right: 0; border-left: 1px solid var(--soft-line); }
.pd-pane-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 14px; border-bottom: 1px solid var(--soft-line); }
.pd-chat-heading-actions, .pd-message-actions { display: flex; align-items: center; gap: 4px; }
.pd-clear-chat { display: inline-flex; align-items: center; min-height: 25px; gap: 5px; border: 0; border-radius: 4px; padding: 0 7px; color: #718692; background: transparent; font-size: 10px; font-weight: 700; }
.pd-clear-chat:hover { color: #a0463d; background: #fff2f0; }
.pd-clear-chat svg { width: 13px; height: 13px; }
.pd-stage-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 7px; }
.pd-stage { display: grid; grid-template-columns: 21px minmax(0, 1fr); gap: 8px; min-height: 47px; padding: 8px; border-left: 2px solid transparent; color: #657988; }
.pd-stage.active { border-left-color: #1b78d0; color: #1e618f; background: #eaf4fa; }
.pd-stage.done { color: #287b67; }
.pd-stage-index { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; color: #748a99; background: #e8eef1; font-size: 9px; font-family: "DM Mono", monospace; font-weight: 800; }
.pd-stage.active .pd-stage-index { color: #fff; background: #1b78d0; }
.pd-stage.done .pd-stage-index { color: #fff; background: #249176; }
.pd-stage strong, .pd-stage small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pd-stage strong { font-size: 11px; }
.pd-stage small { margin-top: 2px; color: #8597a2; font-size: 9px; }
.pd-stage-actions { position: sticky; z-index: 2; bottom: 0; display: grid; flex: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 10px; border-top: 1px solid var(--soft-line); background: #fbfcfd; box-shadow: 0 -5px 12px rgb(49 75 93 / 5%); }
.pd-stage-actions .secondary-button, .pd-stage-actions .run-button { width: 100%; min-width: 0; min-height: 34px; justify-content: center; gap: 5px; padding: 0 6px; font-size: 10px; line-height: 1.25; }
.pd-stage-actions .secondary-button svg, .pd-stage-actions .run-button svg { flex: 0 0 14px; width: 14px; height: 14px; }
.pd-chat { display: flex; flex-direction: column; min-height: 560px; }
.pd-chat-scroll { flex: 1; min-height: 0; overflow: auto; padding: 15px; background: #fff; }
.pd-message { display: grid; gap: 4px; max-width: 88%; margin-bottom: 13px; }
.pd-message.user { justify-self: end; margin-left: auto; }
.pd-message-label { color: #81929e; font-size: 9px; font-weight: 800; }
.pd-message.user .pd-message-label { text-align: right; }
.pd-bubble { padding: 9px 10px; border: 1px solid #e0e9ee; border-radius: 6px; color: #3d5668; background: #f7fafb; font-size: 12px; line-height: 1.58; white-space: pre-wrap; }
.pd-message.user .pd-bubble { border-color: #c8dfed; color: #195c89; background: #eaf5fb; }
.pd-message-actions { min-height: 22px; }
.pd-message-action { display: inline-grid; width: 22px; height: 22px; place-items: center; border: 0; border-radius: 4px; padding: 0; color: #748793; background: transparent; }
.pd-message-action:hover { color: #1d689a; background: #edf5fa; }
.pd-message-action svg { width: 13px; height: 13px; }
.pd-composer { padding: 11px; border-top: 1px solid var(--soft-line); background: #fbfcfd; }
.pd-composer textarea { min-height: 64px; padding: 8px 9px; resize: vertical; line-height: 1.5; }
.pd-composer-actions { justify-content: space-between; margin-top: 8px; }
.pd-current-question { min-width: 0; overflow: hidden; color: #6d8290; font-size: 10px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.pd-evidence-body { display: grid; gap: 12px; max-height: 510px; overflow: auto; padding: 13px; }
.pd-evidence-card { padding-bottom: 11px; border-bottom: 1px solid var(--soft-line); }
.pd-evidence-card:last-child { padding-bottom: 0; border-bottom: 0; }
.pd-evidence-card strong { display: block; color: #466274; font-size: 11px; }
.pd-evidence-card span, .pd-evidence-card small { display: block; margin-top: 3px; color: #7d909d; font-size: 10px; line-height: 1.45; }
.pd-evidence-card small { color: #9aa7b0; }
.pd-report { margin: 13px; padding: 11px; border: 1px solid #d6e4eb; border-radius: 5px; background: #f8fbfc; }
.pd-report strong { display: block; color: #3a586c; font-size: 11px; }
.pd-report p { margin: 5px 0 0; color: #566f7f; font-size: 10px; line-height: 1.55; }
.pd-report-notice { margin-top: 8px; color: #946800 !important; }
.pd-report-overlay { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 24px; background: rgb(37 57 70 / 42%); }
.pd-report-dialog { display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(920px, 100%); max-height: min(760px, calc(100vh - 48px)); border: 1px solid #cbd9e2; border-radius: 6px; background: #fff; box-shadow: 0 18px 42px rgb(30 53 67 / 24%); overflow: hidden; }
.pd-report-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px 18px 13px; border-bottom: 1px solid var(--soft-line); background: #fbfdfe; }
.pd-report-dialog h3 { margin: 0; color: #314b5d; font-size: 15px; letter-spacing: 0; }
.pd-report-dialog p { margin: 4px 0 0; color: #7c8e99; font-size: 10px; }
.pd-report-document { min-width: 0; overflow: auto; padding: 22px 24px 34px; color: #3f5666; background: #fff; font: 12px/1.7 "Noto Sans SC", "Microsoft YaHei", sans-serif; }
.pd-report-document h1 { margin: 0 0 18px; color: #263f50; font-size: 22px; letter-spacing: 0; }
.pd-report-document h2 { margin: 28px 0 10px; padding-bottom: 7px; border-bottom: 1px solid #dfe8ed; color: #2d5168; font-size: 16px; letter-spacing: 0; }
.pd-report-document h3 { margin: 20px 0 8px; color: #3b6075; font-size: 13px; }
.pd-report-document p { margin: 7px 0; color: #4d6575; font-size: 12px; line-height: 1.72; }
.pd-report-document ul { margin: 7px 0 13px; padding-left: 20px; }.pd-report-document li { margin: 4px 0; }
.pd-report-document blockquote { margin: 13px 0; padding: 10px 12px; border-left: 3px solid #d0942f; color: #725618; background: #fff8e9; }
.pd-report-document a { color: #176da5; overflow-wrap: anywhere; }
.pd-report-table-wrap { max-width: 100%; overflow: auto; margin: 11px 0 18px; border: 1px solid #dce6eb; border-radius: 5px; }
.pd-report-table-wrap table { width: 100%; min-width: 640px; border-collapse: collapse; }.pd-report-table-wrap th, .pd-report-table-wrap td { min-width: 110px; max-width: 280px; padding: 8px 9px; border-right: 1px solid #e3ebef; border-bottom: 1px solid #e3ebef; text-align: left; vertical-align: top; overflow-wrap: anywhere; }.pd-report-table-wrap th { color: #34586e; background: #f0f6f9; font-size: 10px; }.pd-report-table-wrap td { font-size: 10px; }.pd-report-table-wrap tr:last-child td { border-bottom: 0; }.pd-report-table-wrap th:last-child, .pd-report-table-wrap td:last-child { border-right: 0; }
.pd-analysis-view { padding: 18px; }
.pd-analysis-view h3 { margin: 0; color: #314b5d; font-size: 15px; }
.pd-analysis-view > p { margin: 5px 0 15px; color: var(--muted); font-size: 11px; }
.pd-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pd-detail-item { padding: 10px; border: 1px solid #e0e9ee; border-radius: 5px; background: #fbfdfe; }
.pd-detail-item strong { display: block; color: #4a6373; font-size: 10px; }
.pd-detail-item span { display: block; margin-top: 4px; color: #607687; font-size: 11px; line-height: 1.5; white-space: pre-wrap; }
.pd-detail-object dl { display: grid; gap: 6px; margin: 8px 0 0; }.pd-detail-object dl div { display: grid; grid-template-columns: minmax(82px, .7fr) minmax(0, 1.3fr); gap: 8px; padding-top: 6px; border-top: 1px solid #e7eef2; }.pd-detail-object dt { color: #7b8e9b; font-size: 9px; font-weight: 700; }.pd-detail-object dd { margin: 0; color: #4d6677; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
.pd-data-table-wrap { overflow: auto; border: 1px solid #dfe8ed; border-radius: 5px; background: #fff; }
.pd-data-table { min-width: 680px; }
.pd-data-table th, .pd-data-table td { min-width: 110px; max-width: 260px; padding: 8px; font-size: 10px; white-space: normal; vertical-align: top; }
.pd-library-toolbar { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.pd-library-toolbar input { height: 34px; min-width: 240px; border: 1px solid #cfd9e0; border-radius: 5px; padding: 0 9px; color: var(--ink); background: #fff; font: inherit; font-size: 11px; }
.pd-upload-control { position: relative; overflow: hidden; }
.pd-upload-control input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pd-project-filters { display: grid; grid-template-columns: minmax(180px, 1.6fr) repeat(5, minmax(98px, 1fr)); gap: 7px; padding: 11px 0; border-bottom: 1px solid var(--soft-line); }
.pd-project-filters label, .pd-profit-form label { display: grid; gap: 4px; color: #718491; font-size: 9px; font-weight: 800; }
.pd-project-filters input, .pd-project-filters select, .pd-profit-form input, .pd-profit-form select { width: 100%; min-width: 0; height: 31px; padding: 0 7px; border: 1px solid #cfdae1; border-radius: 4px; color: #435f71; background: #fff; font: inherit; font-size: 10px; }
.pd-profit-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 13px; border: 1px solid #dfe8ed; border-radius: 5px; background: #fbfdfe; }
.pd-profit-form .run-button { grid-column: span 3; justify-self: start; }
.pd-profit-result { margin-top: 14px; }
@media (max-width: 1120px) { .pd-workspace { grid-template-columns: 190px minmax(320px, 1fr); }.pd-evidence { grid-column: span 2; border-top: 1px solid var(--soft-line); border-left: 0; }.pd-evidence-body { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 210px; }.pd-report { margin-top: 0; } }
@media (max-width: 900px) { .pd-project-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }.pd-filter-search { grid-column: span 3; }.pd-profit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pd-profit-form .run-button { grid-column: span 2; } }
@media (max-width: 780px) { .pd-topline, .pd-project-header, .pd-home-grid { display: grid; grid-template-columns: 1fr; }.pd-top-actions { flex-wrap: wrap; }.pd-home-grid { gap: 0; }.pd-start-panel { border-top: 1px solid var(--soft-line); border-left: 0; }.pd-workspace { grid-template-columns: 1fr; }.pd-stages, .pd-evidence { border: 0; border-bottom: 1px solid var(--soft-line); }.pd-stage-list { display: flex; gap: 5px; overflow-x: auto; padding: 7px 9px 9px; scroll-snap-type: x proximity; }.pd-stage { flex: 0 0 138px; min-height: 45px; border: 1px solid #e1e9ed; border-left-width: 2px; border-radius: 4px; background: #fff; scroll-snap-align: center; }.pd-stage.active { border-color: #91c1df; }.pd-stage-actions { padding: 8px 9px; }.pd-evidence { grid-column: auto; }.pd-evidence-body { grid-template-columns: 1fr; }.pd-chat { min-height: 460px; }.pd-form-grid, .pd-detail-grid, .pd-project-filters, .pd-profit-form { grid-template-columns: 1fr; }.pd-filter-search, .pd-profit-form .run-button { grid-column: auto; }.pd-form-grid .pd-span-2 { grid-column: auto; }.pd-workflow-picker { grid-template-columns: 1fr; }.pd-report-overlay { padding: 10px; }.pd-report-dialog { max-height: calc(100vh - 20px); }.pd-report-dialog header { padding: 12px; }.pd-report-document { padding: 17px 14px 28px; }.pd-report-document h1 { font-size: 18px; }.pd-report-document h2 { font-size: 14px; } }
@media (max-width: 780px) { .pd-stages { max-height: none; }.pd-stage-list { flex: none; overflow-y: hidden; }.pd-stage-actions { position: static; } }
