:root{color:#1d2939;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.5;--bg: #f6f8fb;--surface: #ffffff;--surface-muted: #eef4f6;--line: #dfe7ec;--line-soft: #edf2f5;--text: #1d2939;--muted: #667085;--subtle: #8a98a8;--teal: #188b8b;--teal-soft: #e3f4f2;--blue: #315a7e;--green: #16835f;--green-soft: #e6f4ee;--red: #ba4a4a;--red-soft: #f8eaea;--amber: #9b6b18;--amber-soft: #fbf1dc}*{box-sizing:border-box}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:progress;opacity:.72}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,rgba(231,240,244,.72),transparent 260px),var(--bg)}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:#fafcfdf0}.brand-block{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(24,139,139,.2);border-radius:8px;background:var(--teal-soft);color:var(--teal);font-weight:800}.eyebrow,.panel-label{margin:0;color:var(--subtle);font-size:12px;font-weight:700;letter-spacing:0}.brand-block h1,.topbar h2,.section-heading h3,.decision-head h3{margin:0;color:var(--text)}.brand-block h1{font-size:18px;line-height:1.2}.nav-list{display:grid;gap:4px}.nav-item{width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#475467;text-align:left}.nav-item:hover,.nav-item.active{background:#eaf2f5;color:#143c50;font-weight:700}.quiet-panel,.panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffffeb}.system-state{display:grid;gap:6px;margin-top:auto;padding:14px;color:var(--muted)}.system-state strong{color:var(--text)}.system-state span{font-size:13px}.main-workspace{min-width:0;padding:22px 18px 26px}.topbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(300px,520px) auto;align-items:center;gap:16px;margin-bottom:18px}.topbar h2{margin-top:2px;font-size:24px;line-height:1.25}.ai-search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.ai-search span{color:var(--teal);font-size:13px;font-weight:800}.ai-search input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent}.primary-action,.text-button,.action-row button,.filter-row button,.segment-control button{border:1px solid var(--line);border-radius:8px;background:#fff;color:#31505f}.primary-action{height:42px;padding:0 16px;border-color:#188b8b52;background:#0f7778;color:#fff;font-weight:800}.primary-action:hover{background:#0d696a}.dashboard-grid{display:grid;grid-template-columns:minmax(286px,.9fr) minmax(380px,1.22fr) minmax(286px,.94fr);gap:16px;align-items:start}.left-rail,.decision-column{display:grid;gap:16px}.market-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.market-cell{min-height:92px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb}.market-cell span,.market-cell .tone{display:block;font-size:13px}.market-cell>span{color:var(--muted)}.market-cell strong{display:block;margin:7px 0 4px;font-size:22px;line-height:1.1}.market-cell small{color:var(--subtle);font-size:12px}.panel{padding:16px}.section-heading,.decision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h3,.decision-head h3{margin-top:2px;font-size:18px}.decision-head h3 span{color:var(--subtle);font-size:14px;font-weight:600}.text-button{padding:6px 10px;color:var(--muted);font-size:13px}.watchlist{display:grid;gap:2px}.stock-row{display:grid;grid-template-columns:38px minmax(96px,1fr) 70px 64px;align-items:center;gap:10px;width:100%;min-height:66px;padding:9px 8px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left}.stock-row:hover,.stock-row.selected{border-color:#188b8b2e;background:#f1f8f8}.score-pill{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--surface-muted);color:var(--blue);font-weight:800}.stock-main{display:grid;min-width:0}.stock-main strong,.stock-main small,.stock-price strong,.stock-price .tone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-main small{color:var(--muted);font-size:12px}.stock-price{display:grid;justify-items:end;min-width:0}.stock-price strong{max-width:100%;font-size:14px}.tone{font-weight:800}.tone-up{color:var(--green)}.tone-down{color:var(--red)}.tone-neutral{color:var(--blue)}.sparkline{display:flex;align-items:end;gap:2px;height:30px}.spark-bar{width:4px;min-height:6px;border-radius:3px 3px 0 0;opacity:.78}.spark-up{background:var(--green)}.spark-down{background:var(--red)}.ai-brief p{margin:0;color:#425466}.brief-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.brief-tags span{padding:5px 8px;border-radius:8px;background:#edf5f7;color:#31505f;font-size:12px;font-weight:700}.decision-panel{padding:18px}.decision-status{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(24,139,139,.2);border-radius:8px;background:var(--teal-soft);color:#0f6768}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--teal)}.quote-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:10px;margin-bottom:14px}.quote-grid div{min-height:92px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.quote-grid span,.quote-grid small{display:block;color:var(--muted);font-size:13px}.quote-grid strong{display:block;margin:4px 0;font-size:24px}.ai-verdict{padding:16px;border:1px solid rgba(24,139,139,.18);border-radius:8px;background:#f1f8f8}.verdict-title{display:flex;justify-content:space-between;gap:12px;color:var(--teal);font-size:13px;font-weight:800}.ai-verdict h4{margin:12px 0 6px;font-size:20px;line-height:1.35}.ai-verdict p{margin:0;color:#4f6072}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.evidence-grid article{min-height:118px;padding:12px;border:1px solid var(--line-soft);border-radius:8px}.evidence-grid span,.report-view span,.workflow-item span{color:var(--subtle);font-size:12px;font-weight:800}.evidence-grid strong{display:block;margin:5px 0}.evidence-grid p,.report-view p,.workflow-item p,.timeline-item p,.ai-note p{margin:0;color:var(--muted);font-size:13px}.action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.action-row button{min-height:40px;padding:8px 10px;color:#24495a;font-weight:700}.action-row button:hover{border-color:#188b8b52;background:#f2faf9}.segment-control,.filter-row{display:flex;flex-wrap:wrap;gap:6px}.segment-control button,.filter-row button{min-height:32px;padding:5px 9px;color:#526372;font-size:13px}.segment-control button.active,.filter-row button.active{border-color:#188b8b52;background:var(--teal-soft);color:#0f6768;font-weight:800}.report-view{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-view article{min-height:106px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.report-view article.active{border-color:#188b8b47;background:#eff8f7}.report-view strong{display:block;margin:5px 0;color:var(--text);font-size:18px}.right-rail{max-height:calc(100vh - 104px);overflow:hidden}.timeline{display:grid;gap:10px;max-height:calc(100vh - 228px);overflow:auto;padding-right:4px}.timeline-item{padding:12px;border-left:3px solid var(--line);border-radius:0 8px 8px 0;background:#fbfdfe}.timeline-item.severity-high{border-left-color:var(--teal)}.timeline-item.severity-medium{border-left-color:var(--amber)}.timeline-item.severity-low{border-left-color:#a4b5c1}.timeline-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--subtle);font-size:12px;font-weight:800}.timeline-item h4{margin:6px 0;font-size:15px;line-height:1.4}.ai-note{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:10px;padding:10px;border-radius:8px;background:#eff6f7}.ai-note span{color:var(--teal);font-size:12px;font-weight:900}.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.workflow-item{min-height:118px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#ffffffe6}.workflow-item strong{display:block;margin:4px 0 8px;font-size:24px}.page-grid{display:grid;gap:16px;min-width:0}.page-grid.two-col{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.inline-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px}.inline-form input,.note-input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);outline:0}.inline-form input{min-height:38px;padding:8px 10px}.inline-form button,.source-grid button{min-height:38px;padding:8px 12px;border:1px solid rgba(24,139,139,.24);border-radius:8px;background:#f2faf9;color:#0f6768;font-weight:800}.data-table{display:grid;max-width:100%;min-width:0;overflow:auto}.table-row{display:grid;grid-template-columns:minmax(150px,1.2fr) .72fr .68fr .68fr .84fr .76fr 170px;align-items:center;gap:12px;min-width:940px;min-height:58px;padding:10px 12px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--text);text-align:left}.table-row.clickable:hover{background:#f4fafb}.table-row.clickable.selected{background:#f1f8f8}.table-head{min-height:42px;color:var(--subtle);font-size:12px;font-weight:800}.table-row strong,.table-row small{display:block}.table-row small{color:var(--muted);font-size:12px}.row-actions,.detail-actions{display:flex;flex-wrap:wrap;gap:6px}.row-actions button,.detail-actions button{min-height:30px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#31505f;font-size:12px;font-weight:800}.row-actions button:hover,.detail-actions button:hover{border-color:#188b8b52;background:#f2faf9}.row-actions button.danger,.detail-actions button.danger{border-color:#ba4a4a38;color:var(--red)}.row-actions button.danger:hover,.detail-actions button.danger:hover{background:var(--red-soft)}.row-actions button:disabled,.detail-actions button:disabled{border-color:var(--line-soft);background:#f6f8fb;color:#a6b0bb}.detail-list{display:grid;gap:10px}.detail-list div{padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.detail-list span{display:block;color:var(--subtle);font-size:12px;font-weight:800}.detail-list strong{display:block;margin-top:5px;color:var(--text);line-height:1.45}.detail-list .detail-actions{display:flex}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-strip article{min-height:88px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.metric-strip span,.report-card span,.source-grid span,.note-list span{color:var(--subtle);font-size:12px;font-weight:800}.metric-strip strong{display:block;margin-top:6px;font-size:20px}.report-list,.note-list,.rule-list,.source-grid{display:grid;gap:10px}.report-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;padding:14px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.report-card h4,.note-list h4,.source-grid h4{margin:4px 0 6px;color:var(--text)}.report-card p,.note-list p,.source-grid p,.rule-list p,.disclaimer{margin:0;color:var(--muted);font-size:13px}.report-meta{display:grid;align-content:start;gap:5px;color:var(--muted);font-size:13px}.report-meta a,.source-grid a{color:var(--teal);font-weight:800;text-decoration:none}.alert-list{max-height:none}.rule-list article,.note-list article{padding:14px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.rule-list article{display:flex;align-items:center;justify-content:space-between;gap:12px}.note-input{min-height:180px;padding:12px;resize:vertical}.action-row.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.source-grid article{display:grid;gap:10px;min-height:190px;padding:14px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.source-state{display:inline-flex;align-items:center;justify-content:center;max-width:180px;min-width:56px;min-height:26px;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-state.ok{background:var(--green-soft);color:var(--green)}.source-state.sync{background:var(--amber-soft);color:var(--amber)}.source-state.bad{background:var(--red-soft);color:var(--red)}.source-grid small{color:var(--subtle)}.disclaimer{margin-top:14px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#f4f8fa}.empty-state{padding:24px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);text-align:center}.table-empty{min-width:100%}.empty-panel{display:grid;gap:12px;max-width:560px}.empty-panel h3{margin:0;font-size:22px}.empty-form{max-width:360px}.muted-inline{align-self:center;color:var(--muted);font-size:13px}.ai-doctor-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.62fr);gap:16px;align-items:start}.ai-chat-panel,.strategy-panel{min-height:calc(100vh - 92px)}.compact-heading{margin-top:-4px;margin-bottom:12px}.compact-heading .filter-row{max-width:100%}.doctor-quote{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.doctor-quote div{min-height:92px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.doctor-quote span,.strategy-summary span,.strategy-block span,.chat-message span{color:var(--subtle);font-size:12px;font-weight:800}.doctor-quote strong{display:block;margin:4px 0;font-size:22px}.doctor-quote small{display:block;color:var(--muted)}.chat-messages{display:grid;gap:10px;max-height:410px;overflow:auto;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.chat-message{display:grid;gap:5px;max-width:88%;padding:12px;border-radius:8px;white-space:pre-line}.chat-message.assistant{justify-self:start;border:1px solid rgba(24,139,139,.16);background:#eff8f7}.chat-message.loading{opacity:.82}.chat-message.streaming p:after{content:"";display:inline-block;width:6px;height:15px;margin-left:4px;border-radius:2px;background:#188b8b8c;vertical-align:-2px;animation:cursor-blink 1s steps(2,start) infinite}@keyframes cursor-blink{50%{opacity:0}}.chat-message.user{justify-self:end;border:1px solid var(--line-soft);background:#fff}.chat-message p{margin:0;color:#36485a;font-size:14px}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-prompts button,.strategy-block button{min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#31505f;font-size:13px;font-weight:700}.quick-prompts button:hover,.strategy-block button:hover{border-color:#188b8b4d;background:#f2faf9}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}.chat-input-row input{min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);outline:0}.chat-input-row button{min-width:76px;border:1px solid rgba(24,139,139,.32);border-radius:8px;background:#0f7778;color:#fff;font-weight:800}.strategy-modes{margin-bottom:12px}.strategy-summary,.strategy-block{display:grid;gap:8px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:#fbfdfe}.strategy-summary{margin-bottom:10px;border-color:#188b8b2e;background:#eff8f7}.strategy-summary p,.strategy-block p{margin:0;color:#405467;font-size:14px}.strategy-block{margin-top:10px}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px 18px}.nav-list{grid-template-columns:repeat(6,minmax(0,1fr))}.system-state{display:none}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-rail,.timeline{max-height:none}.page-grid.two-col,.source-grid,.ai-doctor-grid{grid-template-columns:1fr}.ai-chat-panel,.strategy-panel{min-height:0}}@media(max-width:760px){.main-workspace{padding:14px}.topbar,.quote-grid,.evidence-grid,.report-view,.workflow-grid,.market-strip,.action-row,.metric-strip,.report-card,.doctor-quote,.chat-input-row{grid-template-columns:1fr}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-row{grid-template-columns:38px minmax(0,1fr) 72px}.sparkline{display:none}.decision-head,.section-heading{flex-direction:column;align-items:stretch}.chat-message{max-width:100%}}
