/* 金融分析 · 共享样式（各栏目子页与门户共用） */
:root{--paper:#f5efe0;--ink:#2b2622;--vermilion:#9c2a2a;--jade:#2e7d6f;--gold:#b8860b;--line:#d9c9a3;--card:#fbf6ea;--shadow:0 2px 10px rgba(60,40,10,.08)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}
.wrap{max-width:1080px;margin:0 auto;padding:18px}
header{background:linear-gradient(180deg,#3a2a22,#2b1f18);color:#f5efe0;border-bottom:3px solid var(--vermilion);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
header h1{margin:0;font-size:20px;letter-spacing:1px}
header .sub{font-size:12px;color:#cdbfa6;margin-top:4px}
.brand{font-size:20px;letter-spacing:1px;color:#f5efe0}
.brand .sub{font-size:12px;color:#cdbfa6;margin-top:4px;font-weight:400}
.topnav{display:flex;gap:8px;flex-wrap:wrap}
.topnav button, .topnav a{background:rgba(245,239,224,.08);color:#e8dcc3;border:1px solid rgba(245,239,224,.25);padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block;border-radius:5px}
.topnav button:hover, .topnav a:hover{background:rgba(245,239,224,.18)}
.topnav button.active, .topnav a.active{background:var(--vermilion);color:#fff;border-color:var(--vermilion)}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin:16px 0;box-shadow:var(--shadow)}
h2{font-size:16px;margin:0 0 12px;color:var(--vermilion);border-left:4px solid var(--vermilion);padding-left:10px}
h3{font-size:14px;margin:6px 0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
input,textarea,button,select{font-family:inherit;font-size:14px}
input,textarea{padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}
textarea{width:100%;min-height:80px;resize:vertical}
button{cursor:pointer;border:none;border-radius:5px;padding:8px 16px;background:var(--vermilion);color:#fff;font-weight:600}
button.ghost{background:#fff;color:var(--vermilion);border:1px solid var(--vermilion)}
button.sm{padding:4px 10px;font-size:12px}
/* 表格操作列小按钮：统一尺寸 / 间距，避免文字被挤压 */
button.sm.act{padding:4px 12px;margin:2px 3px;white-space:nowrap;line-height:1.5}
button.ghost.sm.act{background:#fff;color:var(--vermilion);border:1px solid #cf9d9d}
button.ghost.sm.act:hover{background:#f8eceb}
/* 删除：浅底红字描边，hover 才变实底红，警示但不刺眼 */
button.danger{background:#fff;color:#b3261e;border:1px solid #d8a7a3;font-weight:600}
button.danger:hover{background:#b3261e;color:#fff;border-color:#b3261e}
/* 回测：玉色描边，区别于查看/删除 */
button.jade{background:#fff;color:var(--jade);border:1px solid #9cc7bf;font-weight:600}
button.jade:hover{background:var(--jade);color:#fff;border-color:var(--jade)}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{border:1px solid var(--line);padding:7px 9px;text-align:left}
th{background:#efe6d3}
.bar{display:flex;height:22px;border-radius:4px;overflow:hidden;margin:4px 0;font-size:11px;color:#fff;min-width:160px}
.bar .up{background:#c0392b}.bar .down{background:#1e8449}.bar .flat{background:#7f8c8d}
.tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;background:#efe6d3;color:#5a5048;margin-right:4px}
.disclaimer{font-size:12px;color:#7a6f63;background:#f0e9d8;border:1px dashed var(--line);border-radius:6px;padding:10px;margin-top:8px}
.err{color:#9c2a2a;font-size:13px}
.login-tip{text-align:center;padding:60px 20px;color:#5a5048}
a{color:var(--vermilion)}
.stat{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}
.stat .s{flex:1;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;text-align:center}
.stat .s .v{font-size:20px;font-weight:700;color:var(--ink)}
.stat .s .k{font-size:12px;color:#7a6f63}
.up-c{color:#c0392b}.down-c{color:#1e8449}
.w{font-weight:600}
details{margin:8px 0}
details summary{cursor:pointer;color:var(--jade);font-size:13px}
pre.raw{white-space:pre-wrap;font-size:12px;color:#5a5048;max-height:180px;overflow:auto;margin:4px 0 0}
/* 门户 iframe 容器 */
#frame{width:100%;min-height:100vh;border:0;background:var(--paper)}
