.project-solution-workspace,
.project-solution-workspace * { box-sizing: border-box; }
.project-solution-workspace { --ps-navy:#153554; --ps-blue:#2e74b5; --ps-line:#d8e2ec; --ps-soft:#f4f7fa; --ps-muted:#64748b; display:grid; gap:18px; color:#1f2937; }
.project-solution-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 30px; border:1px solid #cdddec; border-radius:22px; background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 56%,#f8fafc 100%); box-shadow:0 18px 42px rgba(21,53,84,.08); }
.project-solution-hero > div { max-width:850px; }
.project-solution-hero span { color:var(--ps-blue); font-size:11px; font-weight:900; letter-spacing:.14em; }
.project-solution-hero h2 { margin:7px 0 8px; color:var(--ps-navy); font-size:28px; }
.project-solution-hero p { margin:0; color:#52657a; font-size:14px; line-height:1.75; }
.project-solution-hero aside { display:flex; gap:9px; }
.project-solution-hero button,.project-solution-form footer button,.project-solution-brief-form footer button,.project-budget-form footer button,.project-solution-detail-actions button,.project-solution-library button { min-height:38px; padding:0 16px; border:1px solid #aac7e4; border-radius:10px; background:#fff; color:var(--ps-blue); font-weight:800; cursor:pointer; }
.project-solution-form footer button,.project-solution-brief-form footer button,.project-budget-form footer button,.project-solution-detail-actions button.primary,.project-solution-library button { border-color:var(--ps-blue); background:var(--ps-blue); color:#fff; }
.project-solution-hero button:disabled,.project-solution-form footer button:disabled,.project-solution-brief-form footer button:disabled,.project-budget-form footer button:disabled,.project-solution-detail-actions button:disabled,.project-solution-library button:disabled { border-color:#b8c7d5; background:#d8e2ec; color:#64748b; cursor:not-allowed; opacity:.85; }
.project-solution-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start; }
.project-solution-form,.project-budget-form,.project-solution-agent-panel,.project-budget-result { border:1px solid var(--ps-line); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(15,23,42,.05); }
.project-solution-form > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-bottom:1px solid var(--ps-line); }
.project-solution-form > header div { display:grid; gap:3px; }
.project-solution-form > header strong { color:var(--ps-navy); font-size:18px; }
.project-solution-form > header span,.project-solution-form > header em { color:var(--ps-muted); font-size:11px; font-style:normal; }
.project-solution-form fieldset { margin:0; padding:20px 22px 22px; border:0; border-bottom:1px solid #e8eef5; }
.project-solution-form legend { padding:0; color:var(--ps-blue); font-size:12px; font-weight:900; letter-spacing:.05em; }
.project-solution-field-grid,.project-budget-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px; }
.project-solution-field-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-solution-field-grid label,.project-budget-inputs label { display:grid; gap:7px; min-width:0; color:#475569; font-size:12px; font-weight:700; }
.project-solution-field-grid label.full,.project-solution-field-grid label.wide,.project-budget-inputs label.wide { grid-column:1/-1; }
.project-solution-field-grid input,.project-solution-field-grid select,.project-solution-field-grid textarea,.project-budget-inputs input,.project-budget-inputs select,.project-budget-inputs textarea { width:100%; min-height:40px; padding:9px 11px; border:1px solid #d8e2ec; border-radius:9px; background:#fbfdff; color:#1f2937; font:inherit; outline:none; }
.project-solution-field-grid textarea,.project-budget-inputs textarea { min-height:90px; resize:vertical; line-height:1.55; }
.project-solution-field-grid input:focus,.project-solution-field-grid textarea:focus,.project-budget-inputs input:focus,.project-budget-inputs textarea:focus { border-color:#60a5fa; box-shadow:0 0 0 3px rgba(96,165,250,.12); }
.project-solution-form > footer,.project-budget-form > footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; }
.project-solution-form > footer span,.project-budget-form > footer small { color:var(--ps-muted); font-size:11px; line-height:1.6; }
.project-solution-agent-panel { position:sticky; top:18px; max-height:calc(100vh - 110px); padding:16px; overflow:auto; }
.project-solution-agent-panel > header { display:flex; justify-content:space-between; padding:2px 2px 14px; border-bottom:1px solid var(--ps-line); }
.project-solution-agent-panel > header span { color:var(--ps-muted); font-size:11px; }
.project-solution-agent-panel > header strong { color:var(--ps-navy); font-size:13px; }
.project-solution-section-list { display:grid; gap:6px; padding:12px 0; }
.project-solution-section-list article { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:center; padding:8px; border-radius:10px; background:#f8fafc; }
.project-solution-section-list i { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:#e0efff; color:var(--ps-blue); font-size:10px; font-style:normal; font-weight:900; }
.project-solution-section-list div { display:grid; gap:2px; min-width:0; }
.project-solution-section-list strong { overflow:hidden; color:#334155; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.project-solution-section-list span { overflow:hidden; color:#94a3b8; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.project-solution-section-list b { padding:3px 6px; border-radius:99px; background:#eef2ff; color:#4f46e5; font-size:8px; }
.project-solution-agent-panel > section { display:grid; gap:7px; padding-top:12px; border-top:1px solid var(--ps-line); }
.project-solution-agent-panel > section > strong { color:var(--ps-navy); font-size:12px; }
.project-solution-agent-panel > section button { display:flex; align-items:center; justify-content:space-between; padding:9px; border:1px solid #e2e8f0; border-radius:9px; background:#fff; color:#334155; font-size:11px; cursor:pointer; }
.project-solution-agent-panel > section button small { color:var(--ps-blue); }
.project-budget-form { padding:20px 22px 4px; }
.project-budget-inputs { grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.project-budget-inputs label.wide { grid-column:span 2; }
.project-budget-result { display:grid; gap:18px; padding:22px; }
.project-solution-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.project-solution-metrics article { display:grid; gap:8px; min-height:92px; padding:16px; border:1px solid #dbe7f2; border-radius:14px; background:linear-gradient(145deg,#fff,#f6faff); }
.project-solution-metrics span { color:var(--ps-muted); font-size:11px; }
.project-solution-metrics strong { color:var(--ps-navy); font-size:18px; word-break:break-word; }
.project-solution-table-wrap { overflow:auto; border:1px solid var(--ps-line); border-radius:12px; }
.project-solution-table-wrap table { width:100%; min-width:720px; border-collapse:collapse; }
.project-solution-table-wrap th { padding:11px; background:#e8eef5; color:var(--ps-navy); font-size:11px; text-align:left; white-space:nowrap; }
.project-solution-table-wrap td { padding:11px; border-top:1px solid #e8eef5; color:#475569; font-size:11px; line-height:1.45; vertical-align:top; }
.project-solution-table-wrap tbody tr:nth-child(even) { background:#f8fafc; }
.project-budget-two-col { display:grid; grid-template-columns:1.3fr 1fr; gap:16px; }
.project-budget-two-col article { display:grid; align-content:start; gap:12px; padding:16px; border:1px solid var(--ps-line); border-radius:14px; }
.project-budget-two-col h3 { margin:0; color:var(--ps-navy); font-size:15px; }
.project-budget-two-col ul { margin:0; padding-left:19px; color:#52657a; font-size:11px; line-height:1.7; }
.project-budget-two-col .warning { margin:0; padding:9px; border-radius:8px; background:#fff7ed; color:#9a3412; font-size:10px; }
.project-solution-library { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.project-solution-library > article { display:grid; gap:12px; padding:18px; border:1px solid var(--ps-line); border-radius:16px; background:#fff; box-shadow:0 10px 26px rgba(15,23,42,.04); }
.project-solution-library header,.project-solution-library article > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.project-solution-library header span { color:var(--ps-blue); font-size:10px; font-weight:800; }
.project-solution-library header b { padding:4px 8px; border-radius:99px; background:#f1f5f9; color:#64748b; font-size:9px; }
.project-solution-library h3 { margin:0; color:var(--ps-navy); font-size:17px; }
.project-solution-library p { margin:0; color:var(--ps-muted); font-size:11px; }
.project-solution-library article > div strong { color:#0f766e; font-size:13px; }
.project-solution-empty { grid-column:1/-1; padding:70px; border:1px dashed #cbd5e1; border-radius:16px; color:var(--ps-muted); text-align:center; }
.project-solution-primary-agents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.project-solution-agent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.project-solution-agent-card { display:grid; gap:13px; padding:17px; border:1px solid var(--ps-line); border-radius:16px; background:#fff; }
.project-solution-primary-agents .project-solution-agent-card { border-color:#b8d5ef; background:linear-gradient(145deg,#fff,#f3f8fd); }
.project-solution-agent-card header { display:flex; gap:10px; align-items:center; }
.project-solution-agent-card header i { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--ps-blue); color:#fff; font-style:normal; font-weight:900; }
.project-solution-agent-card header div { display:grid; gap:3px; }
.project-solution-agent-card header strong { color:var(--ps-navy); font-size:14px; }
.project-solution-agent-card header span { color:#94a3b8; font-size:8px; }
.project-solution-agent-card > p { margin:0; color:#52657a; font-size:11px; line-height:1.6; }
.project-solution-agent-card section { display:grid; gap:7px; }
.project-solution-agent-card section b { color:#334155; font-size:10px; }
.project-solution-agent-card section div,.project-solution-agent-card footer { display:flex; flex-wrap:wrap; gap:5px; }
.project-solution-agent-card section div span,.project-solution-agent-card footer span { padding:4px 7px; border-radius:7px; background:#f1f5f9; color:#52657a; font-size:9px; }
.project-solution-agent-card ul { margin:0; padding-left:17px; color:#64748b; font-size:9px; line-height:1.55; }
.project-solution-detail-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding:14px 16px; border:1px solid var(--ps-line); border-radius:14px; background:#fff; }
.project-solution-detail-actions > div { display:grid; gap:2px; margin-right:auto; }
.project-solution-detail-actions span,.project-solution-detail-actions small { color:var(--ps-muted); font-size:10px; }
.project-solution-detail-actions strong { color:var(--ps-navy); font-size:14px; }
.project-solution-diagram-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.project-solution-diagram { display:grid; align-content:start; gap:13px; padding:17px; border:1px solid #cfe0ef; border-radius:17px; background:#fff; overflow:hidden; }
.project-solution-diagram header { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.project-solution-diagram header > div { display:grid; gap:3px; }
.project-solution-diagram > header p { max-width:980px; margin:3px 0 0; color:#64748b; font-size:10px; line-height:1.65; }
.project-solution-diagram header span { color:var(--ps-blue); font-size:9px; font-weight:900; letter-spacing:.12em; }
.project-solution-diagram header strong { color:var(--ps-navy); font-size:16px; }
.project-solution-diagram header em { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#f1f5f9; color:#64748b; font-size:8px; font-style:normal; font-weight:900; }
.project-solution-diagram header em.generated { background:#dcfce7; color:#047857; }
.project-solution-diagram figure { position:relative; min-height:205px; aspect-ratio:16/7.5; margin:0; overflow:hidden; border-radius:13px; background:#0f2740; }
.project-solution-diagram figure img { display:block; width:100%; height:100%; object-fit:cover; }
.project-solution-diagram figure::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(3,18,35,.86)); pointer-events:none; }
.project-solution-diagram figcaption { position:absolute; z-index:1; right:15px; bottom:13px; left:15px; display:grid; gap:3px; color:#fff; }
.project-solution-diagram figcaption b { font-size:13px; }
.project-solution-diagram figcaption span { color:rgba(255,255,255,.78); font-size:8px; letter-spacing:0; }
.project-solution-diagram-semantic { display:grid; gap:9px; padding:11px; border:1px solid #e3edf6; border-radius:13px; background:#f8fbff; }
.project-solution-diagram-flow { display:flex; align-items:stretch; gap:6px; overflow:auto; }
.project-solution-diagram-flow > div { display:grid; align-content:center; min-width:115px; flex:1; gap:5px; padding:12px; border:1px solid #bfdbfe; border-radius:11px; background:#eff6ff; }
.project-solution-diagram-flow > div i { color:var(--ps-blue); font-size:9px; font-style:normal; }
.project-solution-diagram-flow > div strong { color:var(--ps-navy); font-size:11px; }
.project-solution-diagram-flow > div small { color:#52657a; font-size:8px; line-height:1.45; }
.project-solution-diagram-flow > b { display:grid; place-items:center; color:#60a5fa; }
.project-solution-diagram-flow[data-visual-type="layered"] { display:grid; gap:7px; overflow:visible; }
.project-solution-diagram-flow[data-visual-type="layered"] > div { grid-template-columns:34px minmax(105px,.32fr) 1fr; align-items:center; min-height:48px; padding:9px 12px; background:linear-gradient(90deg,#eaf4ff,#f8fbff); }
.project-solution-diagram-flow[data-visual-type="layered"] > div i { font-size:10px; }
.project-solution-diagram-flow[data-visual-type="layered"] > div small { font-size:9px; }
.project-solution-diagram-flow[data-visual-type="pipeline"] > div { border-color:#99f6e4; background:#ecfdf5; }
.project-solution-diagram-flow[data-visual-type="pipeline"] > b { min-width:35px; color:#0f9f83; font-size:7px; letter-spacing:.06em; }
.project-solution-diagram-flow[data-visual-type="topology"] { display:block; overflow:auto; }
.project-solution-diagram-flow[data-visual-type="topology"] > section { display:grid; grid-template-columns:repeat(var(--topology-columns),minmax(112px,1fr)); grid-auto-rows:minmax(92px,auto); gap:11px; min-width:600px; }
.project-solution-diagram-flow[data-visual-type="topology"] > section > div { display:grid; align-content:center; gap:5px; padding:11px; border:1px solid #c4b5fd; border-radius:11px; background:linear-gradient(145deg,#f5f3ff,#fff); }
.project-solution-diagram-flow[data-visual-type="topology"] i { color:#7c3aed; font-size:9px; font-style:normal; }
.project-solution-diagram-flow[data-visual-type="topology"] strong { color:#312e81; font-size:10px; }
.project-solution-diagram-flow[data-visual-type="topology"] small { color:#5b6473; font-size:8px; line-height:1.45; }
.project-solution-diagram-edge-list { display:flex; flex-wrap:wrap; gap:5px; }
.project-solution-diagram-edge-list span { padding:4px 7px; border-radius:7px; background:#ede9fe; color:#5b21b6; font-size:7px; }
.project-solution-diagram-flow[data-visual-type="defense"] { display:grid; gap:6px; overflow:visible; }
.project-solution-diagram-flow[data-visual-type="defense"] > div { display:flex; align-items:center; gap:9px; min-width:0; margin-inline:var(--defense-inset); padding:8px 11px; border-color:#fecdd3; background:linear-gradient(90deg,#fff1f2,#fff); }
.project-solution-diagram-flow[data-visual-type="defense"] > div i { display:grid; flex:0 0 24px; height:24px; place-items:center; border-radius:50%; background:#e11d48; color:#fff; }
.project-solution-diagram-flow[data-visual-type="defense"] > div section { display:grid; gap:3px; }
.project-solution-diagram > p { margin:0; color:#52657a; font-size:10px; line-height:1.6; }
.project-solution-diagram > p strong { color:#1e3a5f; }
.project-solution-diagram footer { display:flex; flex-wrap:wrap; gap:6px; }
.project-solution-diagram footer span { padding:4px 7px; border-radius:7px; background:#f1f5f9; color:#64748b; font-size:8px; }
.project-solution-chapters { display:grid; gap:9px; }
.project-solution-chapters details { border:1px solid var(--ps-line); border-radius:13px; background:#fff; overflow:hidden; }
.project-solution-chapters summary { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 15px; cursor:pointer; list-style:none; }
.project-solution-chapters summary i { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:#e0efff; color:var(--ps-blue); font-size:10px; font-style:normal; font-weight:900; }
.project-solution-chapters summary div { display:grid; gap:3px; }
.project-solution-chapters summary strong { color:var(--ps-navy); font-size:13px; }
.project-solution-chapters summary span,.project-solution-chapters summary b { color:#94a3b8; font-size:9px; }
.project-solution-chapter-body { display:grid; gap:13px; padding:0 18px 18px 65px; }
.project-solution-rich-text { display:grid; gap:11px; }
.project-solution-rich-text p { margin:0; color:#475569; font-size:12px; line-height:1.9; }
.project-solution-rich-text p strong { color:#172f4c; font-weight:900; }
.project-solution-rich-text h4 { margin:4px 0 0; color:var(--ps-navy); font-size:14px; }
.project-solution-chapter-body > ul { margin:0; padding:13px 16px 13px 32px; border-radius:10px; background:#eff6ff; color:#334155; font-size:11px; line-height:1.7; }
.project-solution-evidence-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.project-solution-evidence-notes section { display:grid; gap:6px; padding:11px; border:1px solid #e2e8f0; border-radius:10px; background:#f8fafc; }
.project-solution-evidence-notes b { color:#334155; font-size:10px; }
.project-solution-evidence-notes span { color:#64748b; font-size:9px; line-height:1.55; }
.project-solution-estimate-warning { display:flex; align-items:center; gap:12px; padding:12px 15px; border:1px solid #f5d58b; border-radius:12px; background:#fffaf0; }
.project-solution-estimate-warning strong { color:#92400e; font-size:11px; }
.project-solution-estimate-warning span { color:#a16207; font-size:10px; line-height:1.55; }
.project-solution-metrics.estimated article { border-color:#f1dfb5; background:#fffcf5; }
.project-solution-research { display:grid; gap:16px; padding:20px; border:1px solid #cfe0ef; border-radius:18px; background:linear-gradient(135deg,#f8fbff,#fff); }
.project-solution-research > header { display:grid; grid-template-columns:260px minmax(0,1fr); gap:18px; align-items:end; padding-bottom:14px; border-bottom:1px solid #dbe8f3; }
.project-solution-research > header > div { display:grid; gap:4px; }
.project-solution-research > header span { color:var(--ps-blue); font-size:9px; font-weight:900; letter-spacing:.14em; }
.project-solution-research > header strong { color:var(--ps-navy); font-size:18px; }
.project-solution-research > header p { margin:0; color:#475569; font-size:12px; line-height:1.7; }
.project-solution-research-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.project-solution-research-facts article { display:grid; align-content:start; gap:7px; min-height:132px; padding:13px; border:1px solid #dbe5ef; border-radius:12px; background:#fff; }
.project-solution-research-facts article b { color:#64748b; font-size:9px; }
.project-solution-research-facts article strong { color:#17324f; font-size:11px; line-height:1.45; }
.project-solution-research-facts article p,.project-solution-research-facts article li { color:#64748b; font-size:9px; line-height:1.55; }
.project-solution-research-facts article ul { display:grid; gap:5px; margin:0; padding-left:15px; }
.project-solution-research-facts article.known { border-top:3px solid #10b981; }
.project-solution-research-facts article.assumption { border-top:3px solid #f59e0b; }
.project-solution-research-facts article.unknown { border-top:3px solid #ef4444; }
.project-solution-capability-map { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.project-solution-capability-map article { display:flex; gap:10px; padding:12px; border:1px solid #dbe7f2; border-radius:11px; background:#fff; }
.project-solution-capability-map i { display:grid; flex:0 0 28px; height:28px; place-items:center; border-radius:8px; background:#e0efff; color:var(--ps-blue); font-size:8px; font-style:normal; font-weight:900; }
.project-solution-capability-map div { display:grid; gap:4px; }
.project-solution-capability-map strong { color:#203b59; font-size:10px; }
.project-solution-capability-map p { margin:0; color:#64748b; font-size:8px; line-height:1.5; }
.project-solution-capability-map small { color:#2563eb; font-size:7px; line-height:1.45; }
.project-solution-decision-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.project-solution-decision-list article { display:grid; gap:7px; padding:13px; border-left:3px solid var(--ps-blue); border-radius:8px; background:#f5f9fe; }
.project-solution-decision-list strong { color:#17324f; font-size:11px; }
.project-solution-decision-list p { margin:0; color:#52657a; font-size:9px; line-height:1.55; }
.project-solution-decision-list dl { display:grid; gap:5px; margin:0; }
.project-solution-decision-list dl div { display:grid; grid-template-columns:40px 1fr; gap:6px; }
.project-solution-decision-list dt { color:#2563eb; font-size:8px; font-weight:900; }
.project-solution-decision-list dd { margin:0; color:#64748b; font-size:8px; line-height:1.45; }
.project-solution-architecture-groups { display:grid; gap:10px; }
.project-solution-architecture-groups > section { display:grid; grid-template-columns:190px minmax(0,1fr); gap:12px; padding:11px; border:1px solid #d8e5f1; border-radius:12px; background:#fff; }
.project-solution-architecture-groups > section > header { display:grid; align-content:start; gap:5px; padding:8px; border-radius:9px; background:#edf5ff; }
.project-solution-architecture-groups > section > header strong { color:#173a5f; font-size:11px; }
.project-solution-architecture-groups > section > header span { color:#64748b; font-size:8px; line-height:1.5; }
.project-solution-architecture-groups > section > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.project-solution-architecture-groups article { display:flex; align-items:flex-start; gap:8px; min-width:0; padding:10px; border:1px solid #dfe8f2; border-radius:9px; background:#fbfdff; }
.project-solution-architecture-groups article > i { display:grid; flex:0 0 24px; height:24px; place-items:center; border-radius:7px; background:#dbeafe; color:#2563eb; font-size:7px; font-style:normal; font-weight:900; }
.project-solution-architecture-groups article > div { display:grid; gap:4px; min-width:0; }
.project-solution-architecture-groups article strong { color:#1e3a5f; font-size:10px; }
.project-solution-architecture-groups article p { margin:0; color:#52657a; font-size:8px; line-height:1.5; }
.project-solution-architecture-groups article dl { display:grid; gap:3px; margin:2px 0 0; }
.project-solution-architecture-groups article dl div { display:grid; grid-template-columns:30px 1fr; gap:4px; }
.project-solution-architecture-groups article dt { color:#3b82f6; font-size:7px; font-weight:900; }
.project-solution-architecture-groups article dd { margin:0; color:#7b8794; font-size:7px; line-height:1.4; }
.project-solution-architecture-groups[data-visual-type="pipeline"] > section > header { background:#e9fbf6; }
.project-solution-architecture-groups[data-visual-type="topology"] > section > header { background:#f0edff; }
.project-solution-architecture-groups[data-visual-type="defense"] > section > header { background:#fff0f3; }
.project-solution-relationship-map { display:grid; grid-template-columns:190px minmax(0,1fr); gap:12px; margin-top:3px; padding:11px; border:1px dashed #a9c6df; border-radius:12px; background:#f7fbff; }
.project-solution-relationship-map > header { display:grid; align-content:start; gap:5px; padding:8px; }
.project-solution-relationship-map > header strong { color:#173a5f; font-size:11px; }
.project-solution-relationship-map > header span { color:#64748b; font-size:8px; line-height:1.5; }
.project-solution-relationship-map > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.project-solution-relationship-map article { display:grid; gap:3px; padding:9px; border-radius:8px; background:#fff; box-shadow:inset 3px 0 #60a5fa; }
.project-solution-relationship-map article strong { color:#1e3a5f; font-size:8px; }
.project-solution-relationship-map article p { margin:0; color:#475569; font-size:8px; line-height:1.4; }
.project-solution-relationship-map article small { color:#94a3b8; font-size:7px; line-height:1.35; }
.project-solution-architecture-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.project-solution-architecture-notes section { padding:12px; border-radius:10px; background:#f8fafc; }
.project-solution-architecture-notes section.decision { box-shadow:inset 0 3px #3b82f6; }
.project-solution-architecture-notes section.risk { box-shadow:inset 0 3px #ef4444; }
.project-solution-architecture-notes section.acceptance { box-shadow:inset 0 3px #10b981; }
.project-solution-architecture-notes strong { color:#334155; font-size:10px; }
.project-solution-architecture-notes ul { display:grid; gap:5px; margin:8px 0 0; padding-left:15px; color:#64748b; font-size:8px; line-height:1.5; }
.project-solution-concept-visual { border:1px solid #e2e8f0; border-radius:11px; background:#fbfcfe; }
.project-solution-concept-visual summary { padding:10px 12px; color:#64748b; font-size:9px; font-weight:800; cursor:pointer; }
.project-solution-concept-visual figure { margin:0 10px 10px; }
.project-solution-brief-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:18px; align-items:start; }
.project-solution-brief-form,.project-solution-brief-aside,.project-solution-reference-summary { border:1px solid var(--ps-line); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(15,23,42,.05); }
.project-solution-brief-form { display:grid; gap:20px; padding:26px; }
.project-solution-brief-form > header { display:grid; gap:6px; padding-bottom:18px; border-bottom:1px solid #e8eef5; }
.project-solution-brief-form > header span { color:var(--ps-blue); font-size:10px; font-weight:900; letter-spacing:.14em; }
.project-solution-brief-form > header h3 { margin:0; color:var(--ps-navy); font-size:24px; }
.project-solution-brief-form > header p { margin:0; color:var(--ps-muted); font-size:12px; line-height:1.7; }
.project-solution-brief-form > label { display:grid; gap:8px; color:#334155; font-size:12px; font-weight:800; }
.project-solution-brief-form > label input,.project-solution-brief-form > label textarea { width:100%; padding:14px 15px; border:1px solid #cbd9e6; border-radius:12px; background:#fbfdff; color:#1f2937; font:inherit; outline:none; }
.project-solution-brief-form > label input { min-height:50px; font-size:15px; }
.project-solution-brief-form > label textarea { min-height:190px; resize:vertical; font-size:14px; line-height:1.75; }
.project-solution-brief-form > label input:focus,.project-solution-brief-form > label textarea:focus { border-color:#60a5fa; box-shadow:0 0 0 4px rgba(96,165,250,.12); }
.project-solution-brief-form > footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:4px; }
.project-solution-brief-form > footer div { display:grid; gap:3px; }
.project-solution-brief-form > footer strong { color:var(--ps-navy); font-size:12px; }
.project-solution-brief-form > footer span { color:var(--ps-muted); font-size:10px; }
.project-solution-brief-aside { display:grid; gap:10px; padding:18px; }
.project-solution-brief-aside > span { color:var(--ps-blue); font-size:10px; font-weight:900; letter-spacing:.1em; }
.project-solution-brief-aside > article { display:flex; align-items:center; gap:11px; padding:11px; border-radius:11px; background:#f8fafc; }
.project-solution-brief-aside > article i { display:grid; flex:0 0 30px; height:30px; place-items:center; border-radius:9px; background:#dbeafe; color:var(--ps-blue); font-size:10px; font-style:normal; font-weight:900; }
.project-solution-brief-aside > article div { display:grid; gap:3px; }
.project-solution-brief-aside > article strong { color:#334155; font-size:11px; }
.project-solution-brief-aside > article small { color:#94a3b8; font-size:8px; }
.project-solution-brief-aside > section { display:grid; gap:7px; padding-top:13px; border-top:1px solid #e8eef5; }
.project-solution-brief-aside > section > strong { color:var(--ps-navy); font-size:12px; }
.project-solution-brief-aside > section button { display:flex; justify-content:space-between; gap:8px; padding:9px; border:1px solid #e2e8f0; border-radius:9px; background:#fff; color:#334155; cursor:pointer; }
.project-solution-brief-aside > section button small { color:var(--ps-blue); }
.project-solution-reference-upload { display:grid; gap:12px; padding:16px; border:1px dashed #9ec4e6; border-radius:14px; background:#f7fbff; }
.project-solution-reference-upload > div { display:flex; align-items:center; gap:12px; }
.project-solution-reference-upload > div > i { display:grid; flex:0 0 38px; height:38px; place-items:center; border-radius:11px; background:#dbeafe; color:var(--ps-blue); font-size:20px; font-style:normal; font-weight:400; }
.project-solution-reference-upload section { display:grid; gap:3px; }
.project-solution-reference-upload strong { color:var(--ps-navy); font-size:12px; }
.project-solution-reference-upload p { margin:0; color:var(--ps-muted); font-size:10px; line-height:1.55; }
.project-solution-reference-upload > label { width:max-content; padding:8px 12px; border-radius:9px; background:var(--ps-blue); color:#fff; font-size:10px; font-weight:800; cursor:pointer; }
.project-solution-reference-upload > input { width:100%; padding:9px; border:1px solid #d8e2ec; border-radius:9px; background:#fff; color:#52657a; font-size:10px; }
.project-solution-reference-summary { display:grid; gap:13px; padding:18px; }
.project-solution-reference-summary > header { display:flex; align-items:center; justify-content:space-between; }
.project-solution-reference-summary > header div { display:grid; gap:3px; }
.project-solution-reference-summary > header span { color:var(--ps-blue); font-size:9px; font-weight:900; letter-spacing:.12em; }
.project-solution-reference-summary > header strong { color:var(--ps-navy); font-size:16px; }
.project-solution-reference-summary > header b { padding:5px 9px; border-radius:99px; background:#e0efff; color:var(--ps-blue); font-size:10px; }
.project-solution-reference-summary > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.project-solution-reference-summary article { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px; border:1px solid #e2e8f0; border-radius:10px; }
.project-solution-reference-summary article div { display:grid; gap:3px; min-width:0; }
.project-solution-reference-summary article strong { overflow:hidden; color:#334155; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.project-solution-reference-summary article small { color:#94a3b8; font-size:8px; }
.project-solution-reference-summary article a { flex:0 0 auto; color:var(--ps-blue); font-size:10px; font-weight:800; text-decoration:none; }
@media (max-width:1200px) { .project-solution-layout { grid-template-columns:1fr; } .project-solution-agent-panel { position:static; max-height:none; } .project-solution-agent-grid { grid-template-columns:repeat(2,1fr); } .project-budget-inputs { grid-template-columns:repeat(2,1fr); } }
@media (max-width:1200px) { .project-solution-brief-layout { grid-template-columns:1fr; } }
@media (max-width:760px) { .project-solution-hero { align-items:flex-start; flex-direction:column; } .project-solution-field-grid,.project-solution-field-grid.compact,.project-budget-inputs,.project-solution-metrics,.project-solution-library,.project-solution-primary-agents,.project-solution-agent-grid,.project-solution-diagram-grid,.project-budget-two-col,.project-solution-reference-summary > div,.project-solution-evidence-notes,.project-solution-research-facts,.project-solution-capability-map,.project-solution-decision-list,.project-solution-architecture-notes { grid-template-columns:1fr; } .project-solution-research > header,.project-solution-architecture-groups > section,.project-solution-relationship-map { grid-template-columns:1fr; } .project-solution-architecture-groups > section > div,.project-solution-relationship-map > div { grid-template-columns:1fr; } .project-budget-inputs label.wide { grid-column:auto; } .project-solution-form > footer,.project-solution-brief-form > footer,.project-budget-form > footer,.project-solution-detail-actions { align-items:stretch; flex-direction:column; } .project-solution-chapter-body { padding-left:18px; } }
.project-solution-card-actions{display:inline-flex;gap:8px}.project-solution-library .project-solution-card-actions .danger{background:#fff1f0;color:#b42318;border:1px solid #ffd2cf}
