/* ===== 自选股预警 页面样式（对齐平台设计语言） ===== */
.hero-sm { background:transparent;border:0;border-radius:0;box-shadow:none; padding: 14px 0 10px; margin-bottom: 12px; }
.hero-sm h1 { font-size: 20px; margin-bottom: 4px; }
.hero-sm p { font-size: 13px; line-height: 1.7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 头部操作区 */
.al-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.al-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.al-input { border: 1px solid #e3e4e6; border-radius: 6px; padding: 7px 10px; font-size: 13px; width: 150px; }
.al-input:focus { outline: none; border-color: #27548c; }

/* 标题行内联语音提醒开关 */
.al-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.al-voice-h { gap: 6px; }
.al-voice-h b { font-size: 12px; font-weight: 600; color: #5a6478; }
.al-voice-h input:checked ~ b { color: #27548c; }

/* 自选卡折叠：只显示第一行 */
#alFoldBtn { margin-top: 12px; }

/* 自选股卡片 */
.al-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 14px; }
.al-stock { border: 1px solid #e3e4e6; border-radius: 10px; padding: 12px 14px; position: relative; transition: all .15s; }
.al-stock:hover { border-color: #b3c7e2; box-shadow: 0 4px 12px rgba(39,84,140,.08); }
.al-stock.has-alert { border-color: #ffd8a8; background: #fff9f0; }
.al-stock.pinned { border-color: #27548c; box-shadow: 0 0 0 1px rgba(39,84,140,.25), 0 4px 12px rgba(39,84,140,.10); }
.pinflag { position: absolute; top: -8px; left: 10px; background: #27548c; color: #fff; font-size: 10px;
            border-radius: 8px; padding: 1px 8px; letter-spacing: 1px; }
.al-stock .top { display: flex; justify-content: space-between; align-items: center; }
.al-stock .nm { font-weight: 700; font-size: 14.5px; color: #0a0a0a; text-decoration: none; }
.al-stock .nm:hover { color: #27548c; }
.al-stock .cd { color: #8a93a5; font-size: 12px; }
.al-stock .top-ops { display: flex; gap: 2px; align-items: center; }
.al-stock .pin, .al-stock .del { border: none; background: none; color: #c2c9d6; cursor: pointer; font-size: 14px; padding: 0 3px; }
.al-stock .pin:hover { color: #27548c; }
.al-stock .pin.on { color: #27548c; }
.al-stock .del:hover { color: #e03131; }
.al-stock .px { font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 4px; }
.al-stock .px .pct { font-size: 13px; margin-left: 6px; font-weight: 600; }
.al-stock .meta { color: #8a93a5; font-size: 11.5px; margin-top: 3px; display: flex; gap: 10px; }
.al-stock .badges { margin-top: 7px; display: flex; gap: 5px; flex-wrap: wrap; min-height: 18px; }
.al-stock .note { color: #b0b8c7; font-size: 11px; margin-top: 4px; }
.al-foot { display: flex; gap: 6px; margin-top: 8px; align-items: center; }
.al-foot .btn { padding: 3px 10px; font-size: 12px; }
.al-foot .rule-sum { color: #b0b8c7; font-size: 11px; }

/* ===== 规则中心（全局 + 个股弹窗共用） ===== */
.rule-sec { border: 1px solid #e3e4e6; border-radius: 10px; margin-top: 10px; overflow: hidden; background: #fff; }
.rule-sec.evwin { background: #f9fbff; border-style: dashed; }
.rule-sec .sec-h { display: flex; justify-content: space-between; align-items: center; gap: 10px;
                   background: #fafafa; padding: 8px 14px; border-bottom: 1px solid #e3e4e6; }
.rule-sec .sec-name { font-weight: 700; font-size: 13px; color: #0a0a0a; }
.rule-sec .sec-count { font-size: 11.5px; color: #8a93a5; }
.rule-sec .sec-b { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
                   gap: 0 22px; padding: 6px 14px; }
.rule-row { display: flex; align-items: center; gap: 7px; padding: 6px 0; font-size: 12.5px;
            border-bottom: 1px dashed #f2f4f8; min-height: 30px; }
.rule-row:last-child { border-bottom: none; }
.rule-row input[type="checkbox"] { width: 15px; height: 15px; accent-color: #27548c; cursor: pointer; flex: none; }
.rule-row select { border: 1px solid #e3e4e6; border-radius: 5px; padding: 2px 4px; font-size: 12px;
                   width: 66px; flex: none; color: #5a6478; }
.rule-row .rl-label { flex: 1; color: #48484a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: default; }
.rule-row .param { width: 62px; border: 1px solid #e3e4e6; border-radius: 5px; padding: 3px 6px;
                   font-size: 12px; text-align: right; flex: none; }
.rule-row .param:focus { outline: none; border-color: #27548c; }
.rule-row .unit { color: #8a93a5; font-size: 11px; width: 20px; flex: none; }
.rule-modal-body { max-height: 52vh; overflow: auto; margin-top: 4px; padding-right: 4px; }

/* 双栏 */
.al-cols { display: grid; grid-template-columns: 3fr 2fr; gap: 14px; align-items: start; margin-top: 14px; }
.al-cols .card { min-width: 0; overflow-x: auto; }
@media (max-width: 1100px) { .al-cols { grid-template-columns: 1fr; } }

/* 筛选 chips 与 tabs */
.chipbar { display: flex; gap: 6px; flex-wrap: wrap; }
.chipbar .fchip { border: 1px solid #e3e4e6; background: #fff; border-radius: 14px; padding: 3px 12px; font-size: 12px; cursor: pointer; color: #5a6478; }
.chipbar .fchip.on { background: #eaf0ff; border-color: #27548c; color: #27548c; font-weight: 600; }

/* 表格 */
.al-tbl { max-height: 420px; overflow: auto; border: 1px solid #e3e4e6; border-radius: 8px; margin-top: 10px; }
.al-tbl table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.al-tbl th { position: sticky; top: 0; background: #fafafa; color: #5a6478; font-weight: 600; text-align: left;
             padding: 8px 10px; border-bottom: 1px solid #e3e4e6; white-space: nowrap; z-index: 1; }
.al-tbl td { padding: 7px 10px; border-bottom: 1px solid #f2f4f8; vertical-align: top; }
.al-tbl tr:hover td { background: #f9fbff; }
.al-tbl .t-code { color: #8a93a5; font-variant-numeric: tabular-nums; }
.al-tbl .t-ts { color: #8a93a5; white-space: nowrap; }

/* 类型徽章 */
.tbadge { display: inline-block; border-radius: 5px; padding: 1px 7px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.tbadge.价格   { background: #e7f0ff; color: #27548c; }
.tbadge.技术指标 { background: #f0eaff; color: #7048e8; }
.tbadge.涨跌停 { background: #ffe9e9; color: #e03131; }
.tbadge.财务   { background: #fff4e0; color: #d97706; }
.tbadge.舆情   { background: #e6f7f1; color: #0ca678; }
.abadge { display: inline-block; border-radius: 5px; padding: 1px 7px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.abadge.机会 { background: #ffe9e9; color: #e03131; }
.abadge.风险 { background: #e6f7f1; color: #0ca678; }
.abadge.重点 { background: #fff4e0; color: #d97706; }
.abadge.中性 { background: #f1f4fa; color: #8a93a5; }
.rtag { display: inline-block; border: 1px solid #e3ddfb; background: #f5f2ff; color: #7048e8;
        border-radius: 5px; padding: 0 6px; font-size: 10.5px; white-space: nowrap; }

/* 涨跌颜色（A股红涨绿跌） */
.pos { color: #e03131; }
.neg { color: #0ca678; }

/* 空态 */
.al-empty { text-align: center; color: #b0b8c7; padding: 34px 0; font-size: 13px; }
.al-empty[hidden] { display: none; }

/* 事件雷达 */
.ev-item { padding: 8px 2px; border-bottom: 1px solid #f2f4f8; font-size: 12.5px; }
.ev-item:last-child { border-bottom: none; }
.ev-item .l1 { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ev-item .l1 a { font-weight: 600; color: #0a0a0a; }
.ev-item .l1 a:hover { color: #27548c; }
.ev-item .dt { color: #8a93a5; font-size: 11.5px; }
.ev-item .sum { color: #5a6478; margin-top: 3px; line-height: 1.6; }

/* 设置区 */
.set-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 10px 0; }
.set-grid .f { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: #5a6478; }
.set-grid input, .set-grid select { border: 1px solid #e3e4e6; border-radius: 6px; padding: 6px 9px; font-size: 13px; }
.set-grid input:focus, .set-grid select:focus { outline: none; border-color: #27548c; }
.set-grid .chk { flex-direction: row; align-items: center; gap: 6px; }
.chk input { width: auto; }
.al-cfg-out { width: 100%; border: 1px solid #e3e4e6; border-radius: 8px; padding: 10px; font-size: 12px;
              font-family: Consolas, monospace; min-height: 150px; color: #333; background: #f9fbff; }
.al-steps { font-size: 12.5px; color: #5a6478; line-height: 2; margin-top: 8px; }
.al-steps code { background: #f1f4fa; border-radius: 4px; padding: 1px 6px; font-size: 12px; color: #27548c; }

/* 推送方式分组（微信 / 网页语音） */
.al-ch-row { border: 1px solid #edf0f6; border-radius: 10px; padding: 12px 14px; margin-top: 12px; background: linear-gradient(180deg, #fbfcff, #fff); }
.al-ch-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
.al-ch-head b { font-size: 13.5px; color: #0a0a0a; }

/* 网页语音开关 */
.al-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
.al-switch input { display: none; }
.al-switch i { width: 38px; height: 21px; border-radius: 99px; background: #e3e4e6; position: relative; transition: .18s; flex: none; }
.al-switch i::after { content: ''; position: absolute; top: 2.5px; left: 2.5px; width: 16px; height: 16px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: .18s; }
.al-switch input:checked + i { background: #27548c; }
.al-switch input:checked + i::after { left: 19.5px; }
.al-switch em { font-style: normal; font-size: 12.5px; color: #8a93a5; font-weight: 700; }
.al-switch input:checked ~ em { color: #27548c; }

/* 模态 */
.al-modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex;
            align-items: center; justify-content: center; z-index: 120; }
.al-modal[hidden] { display: none; }
.al-modal .box { background: #fff; border-radius:14px; padding: 20px 22px; width: min(680px, 92vw); max-height: 84vh; overflow: auto; }
.al-modal .box-lg { width: min(960px, 94vw); }
.al-modal h3 { font-size: 15px; margin-bottom: 8px; }
.al-modal .tip { font-size: 12.5px; color: #5a6478; line-height: 1.9; margin-bottom: 8px; }
.al-modal .tip b { color: #27548c; }
.al-modal .ops { display: flex; gap: 8px; margin-top: 10px; justify-content: flex-end; flex-wrap: wrap; }


/* ===== house 精修层（2026-10-13 晚）===== */
.hero-sm{background:transparent;border:0;border-radius:0;box-shadow:none;padding:14px 0 10px;}
.hero-sm h1{font-size:20px;letter-spacing:-.2px;margin-bottom:4px;}
.hero-sm p{font-size:12.5px;color:#8a93a5;line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hero-sm p b{color:#27548c;}
.al-input{border-radius:8px;}
.al-input:focus{box-shadow:0 0 0 3px rgba(39,84,140,.10);}
.al-actions .btn{border-radius:8px;}
.chipbar .fchip{border-radius:8px;}
.chipbar .fchip.on{background:#27548c;border-color:#27548c;color:#fff;box-shadow:0 2px 8px rgba(39,84,140,.24);}
.al-tbl th{background:#f6f8fb;font-size:11px;font-weight:700;letter-spacing:.3px;color:#5b6478;}
.al-tbl tr:hover td{background:#f7fafe;}
.tbadge.价格{background:#eef3fa;}
.rule-sec .sec-h{background:#f6f8fb;}
.rule-sec{border-radius:12px;}
.al-modal .box{border-radius:18px;}
.set-grid input,.set-grid select{border-radius:8px;}
.set-grid input:focus,.set-grid select:focus{box-shadow:0 0 0 3px rgba(39,84,140,.10);}
.al-ch-row{background:#fff;border-radius:12px;}

/* ---- 个股检索建议（代码/名称/拼音首字母） ---- */
#alSug { position: fixed; z-index: 130; background: #fff; border: 1px solid #e3e4e6;
  border-radius: 10px; box-shadow: 0 8px 28px rgba(10,10,10,.12); overflow: hidden; max-height: 260px; overflow-y: auto; }
#alSug > div { display: flex; align-items: center; gap: 10px; padding: 8px 12px; cursor: pointer; font-size: 13px; }
#alSug > div:hover, #alSug > div.on { background: #eef3fa; }
#alSug b { font-weight: 600; color: #0a0a0a; }
#alSug i { font-style: normal; color: #8a93a5; font-size: 11.5px; margin-left: auto; }
