/* stock-average-calculator 挂件样式（参考实现；线上路径 /css/stock-average-calculator.css）
   控件与另几个计算器同一套（.psc，内容相同，各页各自加载一份，同时加载也不冲突），最后补均价页自己的 .sac 规则 */
.psc { display:grid; gap:20px; font-size:15px; line-height:1.55; color:var(--lp-text, #475569); text-align:left; }
@media (min-width:900px) { .psc { grid-template-columns:1.05fr 1fr; align-items:start; } }
.psc-card { background:#fff; border:1px solid var(--lp-line, #e2e8f0); border-radius:var(--lp-radius, 14px); padding:20px; box-shadow:0 18px 40px -24px rgba(30,27,75,.28); }
.psc label { display:block; font-weight:600; font-size:13px; color:var(--lp-ink, #0f172a); margin:12px 0 6px; }
.psc-row > div > label:first-child, .psc-card > label:first-child { margin-top:0; }
.psc input, .psc select { width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; padding:9px 11px; font:15px Inter, system-ui, sans-serif; color:var(--lp-ink, #0f172a); background:#fff; }
.psc input:focus, .psc select:focus { outline:2px solid var(--lp-brand, #5e4cff); outline-offset:1px; border-color:transparent; }
.psc-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.psc [hidden] { display:none !important; }   /* 按品种隐藏的字段（交叉盘汇率、合约值），不被上面的 grid 盖掉 */
.psc-row + label, .psc-row + .psc-row, [data-value] { margin-top:0; }
.psc-join { display:flex; gap:6px; }
.psc-join input { flex:1; min-width:0; }
.psc-seg { display:flex; gap:2px; background:var(--lp-soft, #f4f4ff); padding:3px; border-radius:8px; flex:none; }
.psc-seg button { border:0; background:transparent; padding:0 9px; border-radius:6px; font:600 13px Inter, system-ui, sans-serif; color:var(--lp-text, #475569); cursor:pointer; }
.psc-seg button[aria-checked="true"] { background:#fff; color:var(--lp-ink, #0f172a); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.psc-more { margin-top:14px; border-top:1px solid var(--lp-line, #e2e8f0); padding-top:10px; }
.psc-more summary { cursor:pointer; font-weight:600; font-size:14px; color:var(--lp-brand, #5e4cff); list-style:none; }
.psc-more summary::-webkit-details-marker { display:none; }
.psc-more summary::before { content:'+ '; } .psc-more[open] summary::before { content:'– '; }
.psc-size { font-family:var(--lp-font-display, inherit); font-size:46px; line-height:1.05; font-weight:700; color:var(--lp-ink, #0f172a); letter-spacing:-.02em; }
.psc-size span { font-size:22px; font-weight:600; color:#64748b; letter-spacing:0; }
.psc-lose { margin:10px 0 14px; } .psc-lose b { color:var(--lp-ink, #0f172a); }
.psc-muted { color:#64748b; font-size:13.5px; }
.psc-text p { margin:0 0 10px; } .psc-text b { color:var(--lp-ink, #0f172a); }
.psc-error { color:#b91c1c; font-weight:600; }
.psc-plan { margin:6px 0 0; padding-top:12px; border-top:1px solid var(--lp-line, #e2e8f0); font-size:13.5px; color:#64748b; }
.psc-result .lp-result-cta { margin:16px 0 0; box-shadow:none; flex-direction:column; align-items:flex-start; }
@media (max-width:600px) { .psc-row { grid-template-columns:1fr; } .psc-size { font-size:38px; } }
.sac-top { display:flex; gap:8px; align-items:stretch; margin-bottom:12px; }
.sac-top .fcc-tabs { flex:1; margin:0; }
.sac-top select { width:auto; flex:none; }
.fcc-tabs { display:flex; gap:6px; background:var(--lp-soft, #f4f4ff); padding:4px; border-radius:10px; }
.fcc-tabs button { flex:1; border:0; background:transparent; padding:8px 10px; border-radius:8px; font:600 14px Inter, system-ui, sans-serif; color:var(--lp-text, #475569); cursor:pointer; }
.fcc-tabs button[aria-checked="true"] { background:#fff; color:var(--lp-ink, #0f172a); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.sac-head, .sac-row { display:grid; grid-template-columns:1fr 1fr 34px; gap:8px; align-items:center; }
.sac-head { font-weight:600; font-size:13px; color:var(--lp-ink, #0f172a); margin-bottom:6px; }
.sac-row + .sac-row { margin-top:8px; }
.sac-del { width:34px; height:38px; border:1px solid var(--lp-line, #e2e8f0); border-radius:8px; background:#fff; color:#64748b; font-size:18px; cursor:pointer; }
.sac-del:disabled { opacity:.35; cursor:not-allowed; }
.sac-add { margin-top:10px; border:1px dashed #cbd5e1; background:transparent; border-radius:8px; padding:8px 12px; width:100%; font:600 14px Inter, system-ui, sans-serif; color:var(--lp-brand, #5e4cff); cursor:pointer; }
.sac [data-target] .psc-row + .psc-row { margin-top:12px; }
.sac-sell { width:100%; border-collapse:collapse; margin:6px 0 8px; font-size:14px; }
.sac-sell th, .sac-sell td { text-align:left; padding:7px 6px; border-bottom:1px solid var(--lp-line, #e2e8f0); font-weight:400; }
.sac-sell thead th { font-weight:600; color:var(--lp-ink, #0f172a); font-size:13px; }
.sac-sell tbody th { color:#64748b; }
.sac-sell td { white-space:nowrap; }
