:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172026;background:#f3f5f6}*{box-sizing:border-box}body{margin:0;background:#f3f5f6}.app-shell{min-height:100vh;padding:20px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #d9e0e3;padding-bottom:14px;max-width:1280px;margin:0 auto}.eyebrow{margin:0 0 4px;color:#5f6f78;font-size:12px;letter-spacing:0;text-transform:uppercase}h1{margin:0;font-size:28px;line-height:1.15}.header-meta{color:#52616b;font-size:13px;white-space:nowrap}.toolbar,.summary-band,.allocation-panel,.content-grid{max-width:1280px;margin:18px auto 0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.segments{display:flex;flex-wrap:wrap;gap:8px}button,input{min-height:38px;border:1px solid #c8d1d6;border-radius:6px;background:#fff;color:#172026;font:inherit}button{padding:0 12px;cursor:pointer}button.active,.stock-card.active{border-color:#0e5b45;background:#ecf5f1}.search-field{min-width:min(320px,100%)}.search-field input{width:100%;padding:0 12px}.summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-band>div,.allocation-panel,.detail-panel,.stock-card,.empty-panel{border:1px solid #d8dfe3;border-radius:8px;background:#fff;padding:16px}.summary-band>div,.detail-grid>div{display:grid;gap:6px}.summary-band span,.allocation-copy span,.allocation-field span,.detail-grid span,.stock-card small,.empty-panel span{color:#5a6973;font-size:13px;line-height:1.4}.summary-band strong,.allocation-copy strong,.detail-grid strong{font-size:20px;line-height:1.2}.allocation-panel{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:end}.allocation-copy,.allocation-field{display:grid;gap:6px}.allocation-copy p{margin:0;color:#34424b;font-size:14px;line-height:1.5}.allocation-field input{padding:0 12px}.content-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}.stock-list{display:grid;gap:10px}.list-panel,.detail-panel{min-height:320px}.stock-card{display:grid;gap:6px;width:100%;text-align:left}.stock-card-row,.detail-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.stock-ticker{font-size:13px;color:#52616b}.stock-card-title,.stock-card-facts{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.priority-chip,.stock-card-facts span{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#eef2f4;color:#314049;padding:0 7px;font-size:12px;font-weight:600}.stock-card-views{display:grid;gap:2px}.stock-card-allocation{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.runaway-note{display:grid;gap:2px;color:#8a6410}.signal-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2f4;color:#314049}.signal-buy{background:#e7f5ef;color:#0e5b45}.signal-hold{background:#eef2f4;color:#44535c}.signal-watch{background:#f4f0e4;color:#8a6410}.signal-reduce{background:#f8e9e8;color:#9d3a33}.price-freshness,.freshness-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.35}.price-freshness{justify-content:space-between;max-width:100%}.price-freshness time{font-weight:500}.price-ok{background:#e7f5ef;color:#0e5b45}.price-stale{background:#f4f0e4;color:#8a6410}.price-failed{background:#f8e9e8;color:#9d3a33}.detail-panel{display:grid;gap:16px}.detail-heading h2,.detail-heading p,.empty-panel strong,.empty-panel span,.stock-card strong{margin:0}.detail-heading h2{font-size:24px;line-height:1.2}.detail-heading p,.detail-thesis{color:#4f5f68;font-size:14px;line-height:1.5;margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-section{display:grid;gap:8px;border-top:1px solid #edf1f2;padding-top:12px}.detail-section h3,.detail-section p,.detail-row strong,.detail-row span{margin:0}.detail-section h3{color:#172026;font-size:13px;line-height:1.3}.detail-section p,.detail-row span,.source-list a{color:#4f5f68;font-size:13px;line-height:1.45}.detail-list{display:grid;gap:8px}.detail-row{display:grid;gap:3px;border:1px solid #edf1f2;border-radius:8px;background:#fbfcfc;padding:10px}.detail-row strong{color:#172026;font-size:13px;line-height:1.35}.source-list{display:flex;flex-wrap:wrap;gap:8px}.source-list a{border:1px solid #d8dfe3;border-radius:999px;padding:4px 9px;text-decoration:none}.empty-panel{display:grid;align-content:center;gap:8px}.private-panel{max-width:1280px;margin:18px auto 0;border:1px solid #d8dfe3;border-radius:8px;background:#fff;padding:16px;display:grid;gap:16px}.private-panel-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.private-panel-header h2,.private-panel-header p,.private-editor span,.private-field span,.alert-row-copy strong,.alert-row-copy span,.private-feedback,.private-kv span,.private-kv strong{margin:0}.private-panel-header p,.private-editor span,.private-field span,.alert-row-copy span,.private-feedback,.private-kv span{color:#5a6973;font-size:13px;line-height:1.5}.private-form,.private-field,.private-editor,.private-sidecar{display:grid;gap:10px}.private-form{grid-template-columns:minmax(0,320px) auto;align-items:end}.private-field input,.private-editor textarea{width:100%;padding:10px 12px}.private-editor textarea{min-height:300px;border:1px solid #c8d1d6;border-radius:6px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#172026;resize:vertical}.private-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}.private-sidecar,.private-kv{border:1px solid #edf1f2;border-radius:8px;background:#fbfcfc;padding:12px}.private-kv strong{display:block;font-size:20px;line-height:1.2;color:#172026}.alert-list,.view-list,.report-list{display:grid;gap:10px}.view-card{border:1px solid #edf1f2;border-radius:8px;background:#fbfcfc;padding:12px;display:grid;gap:12px}.view-card p{margin:0;color:#4f5f68;font-size:14px;line-height:1.5}.curve-strip{display:flex;flex-wrap:wrap;gap:8px}.curve-strip span{border:1px solid #d8dfe3;border-radius:999px;padding:4px 9px;color:#4f5f68;font-size:12px;line-height:1.35}.reports-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:16px;align-items:start}.report-markdown{min-height:420px;margin:0;border:1px solid #edf1f2;border-radius:8px;background:#fbfcfc;padding:14px;color:#172026;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow:auto}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #edf1f2;border-radius:8px;padding:12px}.alert-row-copy,.alert-row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.alert-row-actions label{display:inline-flex;align-items:center;gap:8px;color:#34424b;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 860px){.toolbar,.stock-card-row,.detail-heading,.app-header,.private-panel-header,.alert-row{align-items:stretch;flex-direction:column}.allocation-panel,.content-grid,.summary-band,.detail-grid,.private-grid,.private-form,.reports-grid{grid-template-columns:1fr}.search-field{min-width:0;width:100%}.alert-row-actions{justify-content:space-between}}@media (max-width: 560px){.app-shell{padding:16px}h1{font-size:24px}}
