/*==========================================================================
   warning 产品页样式(克隆自 data-platform 标杆页) channel_product_iot_warning.css
   结构克隆腾数小程序页;自 20261001 起 mini 基线已全量内联,本文件为唯一页面样式表。
   --------------------------------------------------------------------------
   分层:①.iot-warning-page 主题变量(#dc2626 蓝紫系) ②mini 结构基线(原选择器 0-1-0)
        ③.iot-warning-page 主题覆盖(0-2-0,压基线) ④场景四卡焦点布局(依赖公共 inc_scene.css)
        ⑤首屏预警雷达台(健康度仪表+振动波形+预警单流,悬浮卡来自公共层)。
   约定:选择器统一 .iot-warning-page 前缀;颜色一律走变量/主题覆盖,
        禁止绿色字面值;同选择器已按声明级合并;死规则(旧样机/被替换组件)已剔除。
   ==========================================================================*/
.iot-warning-page { --iot-warning-green: #dc2626; --iot-warning-dark: #251616; --iot-warning-muted: #785d5e; --iot-warning-line: #ebdedd; --iot-warning-soft: #faf4f4; --builder-cta-a: #c44443; --builder-cta-b: #dc2626; --builder-cta-c: #e58a8a; --iot-warning-section-bg: #faf4f4; --builder-blue: #dc2626; --builder-device-a: #e58a8a; --builder-device-b: #dc2626; --builder-device-c: #7b4040; --scene-primary: #dc2626; --scene-soft: #f9ecea; --scene-accent: #dc2626; overflow: clip; background: #fff; color: var(--iot-warning-dark); }
.iot-warning-page .iot-warning-hero { position: relative; background: linear-gradient(135deg,#fdf5f5 0%,#f9ecec 52%,#fcf6f6 100%); }
.iot-warning-page .iot-warning-hero-kicker { border-color: rgba(220,38,38,.2); box-shadow: 0 .5rem 1.5rem rgba(220,38,38,.08); color: #cd4846; }
.iot-warning-page .iot-warning-hero-glow { background: radial-gradient(circle, rgba(220,38,38,.18), transparent 67%); }
.iot-warning-page .iot-warning-btn-primary { border-color: var(--iot-warning-green); background: var(--iot-warning-green); color: #fff; box-shadow: 0 .75rem 1.562rem rgba(220,38,38,.23); }
.iot-warning-page .iot-warning-btn-primary:hover { border-color: #c44443; background: #c44443; color: #fff; transform: translateY(-.125rem); box-shadow: 0 1rem 1.875rem rgba(220,38,38,.3); }
.iot-warning-page .iot-warning-btn-outline { border: 1px solid #cfd9d1; background: rgba(255,255,255,.72); color: #563d3e; }
.iot-warning-page .iot-warning-btn-outline:hover { border-color: #dca7a7; background: #fff; color: #c44443; transform: translateY(-.125rem); }
.iot-warning-page .iot-warning-nav-cta:hover { background: #c44443; color: #fff; transform: translateY(-.062rem); box-shadow: 0 .5rem 1.25rem rgba(220,38,38,.2); }
.iot-warning-page .iot-warning-btn-primary:focus-visible, .iot-warning-page .iot-warning-btn-outline:focus-visible, .iot-warning-page .iot-warning-nav-cta:focus-visible { outline: .18rem solid rgba(220,38,38,.32); outline-offset: .18rem; }
.iot-warning-page .iot-warning-workflow-visual { position: relative; min-height: 31rem; border-radius: 1.5rem; background: radial-gradient(circle at 78% 20%,rgba(220,38,38,.14),transparent 30%),
    linear-gradient(145deg,#f5ebeb,#fbf6f6); overflow: hidden; }
.iot-warning-page .iot-warning-workflow-components>i { background: rgba(220,38,38,.14); }
.iot-warning-page .iot-warning-workflow-cursor span { margin-left: .2rem; padding: .3rem .5rem; border-radius: .3rem; background: var(--iot-warning-green); color: #fff; font-size: .55rem; box-shadow: 0 .45rem 1rem rgba(220,38,38,.25); }
.iot-warning-page .iot-warning-workspace-tools span.active { background: #f9e9e9; color: #c44443; }
.iot-warning-page .iot-warning-workflow-components span i { margin-right: .4rem; color: #dc2626; }
.iot-warning-page .iot-warning-workflow-cursor { position: absolute; z-index: 5; right: 25%; bottom: 34%; color: #dc2626; }
.iot-warning-page .iot-warning-workflow-steps li>b { background: #f9e9e9; color: #c44443; }
.iot-warning-page .iot-warning-workflow-publish>i { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #f9e9e9; color: #c44443; }
.iot-warning-page .iot-warning-capabilities, .iot-warning-page .iot-warning-features { background: var(--iot-warning-section-bg); }
.iot-warning-page .builder-proof { border-bottom-color: #f0e5e5; border-color: #f7ecee; border-color: #f0e5e5; }
.iot-warning-page .proof-item::after { background: #ebdbdc; background: #ebdbdc; }
.iot-warning-page .proof-item strong span { color: var(--iot-warning-green); }
@media (max-width: 767.98px) {
  .iot-warning-page .builder-proof [class*="col-"]:nth-child(odd) .proof-item { border-right: 1px solid #ebdbdc; }
  .iot-warning-page .builder-proof [class*="col-"]:nth-child(-n+2) .proof-item { border-bottom: 1px solid #ebdbdc; }
}
.iot-warning-page .iot-warning-scenes { padding-top: 7.5rem; padding-bottom: 7.5rem; background: #fff; }
.iot-warning-page .iot-warning-assure { background: var(--iot-warning-section-bg); }
@media (max-width: 991.98px) {
  .iot-warning-page .iot-warning-scenes { padding-top: 6rem; padding-bottom: 6rem; }
}
.iot-warning-page .iot-warning-feature-row.is-reverse .iot-warning-feature-copy { order: 2; }
.iot-warning-page .iot-warning-feature-copy { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 3rem 1.5rem; }
.iot-warning-page .iot-warning-feature-copy small { color: var(--iot-warning-green); font-size: .8rem; font-weight: 500; letter-spacing: .28em; }
.iot-warning-page .iot-warning-feature-copy h3 { max-width: 29rem; margin: 1.45rem 0 1.7rem; font-size: clamp(1.8rem,2.65vw,2.65rem); line-height: 1.3; letter-spacing: -.025em; }
.iot-warning-page .iot-warning-feature-copy p { position: relative; max-width: 34rem; margin: 0; padding-left: 1.75rem; color: #6d7588; font-size: 1.05rem; line-height: 1.9; }
.iot-warning-page .iot-warning-feature-copy p:before { content: ""; position: absolute; top: .78rem; left: 0; width: .48rem; height: .48rem; border-radius: 50%; background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-feature-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.iot-warning-page .iot-warning-feature-details li { display: flex; min-width: 0; min-height: 4.75rem; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid #eadede; border-radius: .85rem; background: rgba(255,255,255,.76); transition: border-color .22s ease,background-color .22s ease,transform .22s ease,box-shadow .22s ease; }
.iot-warning-page .iot-warning-feature-details li:hover { border-color: #e6b7b7; background: #fff; transform: translateY(-.125rem); box-shadow: 0 .65rem 1.5rem rgba(106,51,50,.07); }
.iot-warning-page .iot-warning-feature-details>li>i { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: .65rem; background: #f9e9e9; color: #dc2626; font-size: 1rem; }
.iot-warning-page .iot-warning-feature-details span { display: flex; min-width: 0; flex-direction: column; }
.iot-warning-page .iot-warning-feature-details b { color: #312221; font-size: .84rem; font-weight: 650; line-height: 1.35; }
.iot-warning-page .iot-warning-feature-details em { margin-top: .2rem; color: #917c7b; font-size: .7rem; font-style: normal; line-height: 1.45; }
.iot-warning-page .iot-warning-feature-copy>span { display: none; }
.iot-warning-page .iot-warning-feature-visual, .iot-warning-page .iot-warning-feature-row picture { position: relative; display: grid; place-items: center; overflow: hidden; min-height: 35rem; border-radius: 1.75rem; background: #f9e9e9; }
.iot-warning-page .iot-warning-feature-row picture img { width: 100%; height: 100%; object-fit: cover; }
.iot-warning-page .iot-warning-features .iot-warning-feature-device { width: 16rem; height: 25rem; }
.iot-warning-page
.iot-warning-nav-sentinel { width: 100%; height: 0; }
.iot-warning-page

.iot-warning-page .iot-warning-actions { display: flex; margin-top: 2.25rem; gap: .812rem; }
.iot-warning-page .iot-warning-btn-primary, .iot-warning-page .iot-warning-btn-outline { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; min-height: auto; padding: .812rem 1.625rem; border-radius: .5rem; font-size: .95rem; font-weight: 650; transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease; }
.iot-warning-page .iot-warning-nav-cta { flex: 0 0 auto; padding: .562rem 1.375rem; border: 0; border-radius: 62.438rem; background: var(--iot-warning-green); color: #fff; font-size: .8rem; font-weight: 650; box-shadow: none; transition: background-color .22s ease,transform .22s ease,box-shadow .22s ease; }
.iot-warning-page
.iot-warning-feature-visual { isolation: isolate; }
.iot-warning-page .iot-warning-feature-visual:before, .iot-warning-page .iot-warning-feature-visual:after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.iot-warning-page .iot-warning-feature-visual:before { width: 24rem; height: 24rem; right: -8rem; top: -10rem; border: 1px solid rgba(114,53,52,.1); }
.iot-warning-page .iot-warning-feature-visual:after { width: 18rem; height: 18rem; left: -8rem; bottom: -10rem; background: rgba(255,255,255,.34); }
.iot-warning-page .iot-warning-feature-visual-1 { background: linear-gradient(145deg,#f9ecea 0%,#f3ddde 100%); }
.iot-warning-page .iot-warning-feature-visual-2 { background: linear-gradient(145deg,#faefef 0%,#f3ddde 100%); }
.iot-warning-page .iot-warning-feature-visual-3 { background: linear-gradient(145deg,#f7e9e8 0%,#f3e2e1 100%); }
.iot-warning-page .iot-warning-feature-visual-4 { background: linear-gradient(145deg,#f8eded 0%,#f4e4e3 100%); }
/*---- 特色功能 PC 主图:浏览器窗框(与首屏 builder-browser 同源语言),内嵌桌面工作台内容 ----*/
/*手机刘海:scenario 插图沿用,feature 已改 PC 窗框*/
.iot-warning-page .iot-warning-scenario-device:before { content: ""; position: absolute; top: .5rem; left: 50%; width: 4rem; height: .32rem; border-radius: 1rem; background: #231313; transform: translateX(-50%); }
.iot-warning-page .iot-warning-workspace-banner small, .iot-warning-page .iot-warning-workspace-banner strong, .iot-warning-page .iot-warning-workspace-banner span { display: block; }
/*PC 窗框内头部改紧凑单行,避免巨号数字挤压工作台内容*/
/*调度任务卡改挂窗框右上角,只压地址栏不压工作台内容*/
.iot-warning-page .iot-warning-hero-trust { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.625rem; color: #66736b; font-size: .82rem; }
.iot-warning-page .iot-warning-hero-trust span { display: inline-flex; align-items: center; white-space: nowrap; }
.iot-warning-page .iot-warning-hero-trust i { margin-right: .375rem; color: #dc2626; font-size: .9rem; }
.iot-warning-page .iot-warning-page .proof-item:after { background: #efe2e3; }
.iot-warning-page .iot-warning-page .proof-item strong { color: #231514; }
.iot-warning-page .iot-warning-page .proof-item p { color: #849087; }
.iot-warning-page .iot-warning-page .builder-proof [class*="col-"]:nth-child(-n+2) .proof-item { border-color: #efe2e3; }
.iot-warning-page
.iot-warning-development { background: #fff; }
.iot-warning-page .iot-warning-workflow-editor { position: absolute; top: 4.25rem; right: 2.75rem; bottom: 3.25rem; left: 2.75rem; overflow: hidden; border: 1px solid #e9d7d8; border-radius: .85rem; background: #fff; box-shadow: 0 1.5rem 3rem rgba(94,43,43,.15); }
.iot-warning-page .iot-warning-workflow-editor-bar { display: flex; height: 2.35rem; align-items: center; padding: 0 .75rem; border-bottom: 1px solid #efe5e4; color: #6e5b5a; font-size: .6rem; }
.iot-warning-page .iot-warning-workflow-editor-bar>span { display: flex; gap: .3rem; }
.iot-warning-page .iot-warning-workflow-editor-bar>span i { width: .38rem; height: .38rem; border-radius: 50%; background: #e2d1d0; }
.iot-warning-page .iot-warning-workflow-editor-bar>b { margin: auto; font-size: .62rem; font-weight: 600; }
.iot-warning-page .iot-warning-workflow-editor-bar>em { padding: .25rem .5rem; border-radius: 2rem; background: #f9e9e9; color: #c44443; font-size: .52rem; font-style: normal; }
.iot-warning-page .iot-warning-workflow-editor-body { display: grid; height: calc(100% - 2.35rem); grid-template-columns: 2.65rem 1fr; }
.iot-warning-page .iot-warning-workflow-editor-body aside { display: flex; flex-direction: column; align-items: center; gap: .85rem; padding-top: 1rem; border-right: 1px solid #efe5e4; background: #fffbfa; }
.iot-warning-page .iot-warning-workflow-editor-body aside i { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: .35rem; color: #af9999; font-size: .72rem; }
.iot-warning-page .iot-warning-workflow-editor-body aside i.active { background: #f9e9e9; color: #c44443; }
.iot-warning-page .iot-warning-workflow-canvas { position: relative; display: grid; place-items: center; background-color: #f9f4f4; background-image: linear-gradient(rgba(145,83,83,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(145,83,83,.05) 1px,transparent 1px); background-size: 1.25rem 1.25rem; }
.iot-warning-page .iot-warning-workflow-components { position: absolute; z-index: 3; top: 1.45rem; left: .2rem; display: flex; width: 9.4rem; flex-direction: column; gap: .45rem; padding: .9rem; border: 1px solid #e4d7d6; border-radius: .7rem; background: rgba(255,255,255,.96); box-shadow: 0 1rem 2rem rgba(98,45,45,.14); }
.iot-warning-page .iot-warning-workflow-components small { margin-bottom: .15rem; color: #859188; font-size: .62rem; }
.iot-warning-page .iot-warning-workflow-components span { padding: .5rem; border-radius: .38rem; background: #f8f3f2; color: #657169; font-size: .64rem; }
.iot-warning-page .iot-warning-workflow-publish { position: absolute; z-index: 4; right: 1.1rem; bottom: 1.5rem; display: flex; align-items: center; gap: .65rem; padding: .75rem .9rem; border: 1px solid #e9d7d8; border-radius: .7rem; background: #fff; box-shadow: 0 1rem 2rem rgba(98,45,45,.14); }
.iot-warning-page .iot-warning-workflow-publish span, .iot-warning-page .iot-warning-workflow-publish b, .iot-warning-page .iot-warning-workflow-publish small { display: block; }
.iot-warning-page .iot-warning-workflow-publish b { color: #251616; font-size: .68rem; }
.iot-warning-page .iot-warning-workflow-publish small { margin-top: .1rem; color: #879189; font-size: .55rem; }
.iot-warning-page .iot-warning-workflow-cursor>i { font-size: 1.3rem; transform: rotate(-15deg); }
.iot-warning-page .iot-warning-workflow-steps { margin: 0; padding: 0; list-style: none; }
.iot-warning-page .iot-warning-workflow-steps li { position: relative; display: flex; gap: 1.3rem; padding: .95rem 0; }
.iot-warning-page .iot-warning-workflow-steps li:not(:last-child):after { content: ""; position: absolute; top: 3.5rem; bottom: -.35rem; left: 1.25rem; width: 1px; background: #eadada; }
.iot-warning-page .builder-float-card { border-color: rgba(234,209,210,.8); color: #8e7675; box-shadow: 0 .75rem 1.562rem rgba(94,43,43,.12); }
.iot-warning-page .builder-float-card > i { background: #f9ecea; color: var(--iot-warning-green); }
.iot-warning-page .builder-float-card b { color: #442a2a; }
.iot-warning-page .float-card-live > i { background: #f9ecea; color: var(--iot-warning-green); }
/*---- 首屏构图:预警雷达台(健康度仪表 + 振动波形 + 预警单流,悬浮卡来自公共层) ----*/
.iot-warning-page .iot-warning-hero-art { position: relative; width: 100%; height: 32rem; display: flex; align-items: center; justify-content: center; }
.iot-warning-page .iot-warning-hero-art .iot-warning-hero-image { display: block; width: 100%; height: auto; border-radius: 1.1rem; box-shadow: 0 1.5rem 3.75rem rgba(15,25,31,.14); }
.iot-warning-page .iot-warning-stage { position: relative; width: min(100%,35rem); display: flex; flex-direction: column; gap: .85rem; padding: 1rem 1.1rem 1.1rem; background: #fff; border: 1px solid var(--iot-warning-line); border-radius: 1.1rem; box-shadow: 0 1.5rem 3.75rem rgba(15,25,31,.14); }
/*头部条:台名 + 在测徽章 + 示范标签*/
.iot-warning-page .iot-warning-stage-head { display: flex; align-items: center; gap: .6rem; }
.iot-warning-page .iot-warning-stage-head > b { display: inline-flex; align-items: center; gap: .4rem; font-size: .95rem; color: var(--iot-warning-dark); }
.iot-warning-page .iot-warning-stage-head > b i { color: var(--iot-warning-green); }
.iot-warning-page .iot-warning-stage-online { display: inline-flex; align-items: center; gap: .3rem; padding: .16rem .55rem; border-radius: 999px; background: var(--iot-warning-soft); color: var(--iot-warning-green); font-size: .72rem; font-weight: 600; }
.iot-warning-page .iot-warning-stage-online i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--iot-warning-green); animation: iot-warning-pulse 2s ease-in-out infinite; }
.iot-warning-page .iot-warning-stage-head > em { margin-left: auto; font-style: normal; font-size: .75rem; color: var(--iot-warning-muted); }
/*主区:健康度仪表 + 振动波形*/
.iot-warning-page .iot-warning-stage-main { display: grid; grid-template-columns: 1fr 1.35fr; gap: .6rem; }
.iot-warning-page .iot-warning-stage-gauge,
.iot-warning-page .iot-warning-stage-wave { border: 1px solid var(--iot-warning-line); border-radius: .7rem; padding: .7rem .75rem; display: flex; flex-direction: column; gap: .55rem; }
/*健康度仪表:SVG 圆环*/
.iot-warning-page .iot-warning-stage-gauge-ring { position: relative; width: 7.5rem; margin: 0 auto; }
.iot-warning-page .iot-warning-stage-gauge-ring svg { display: block; width: 100%; transform: rotate(-90deg); }
.iot-warning-page .iot-warning-stage-gauge-bg { fill: none; stroke: var(--iot-warning-soft); stroke-width: 9; }
.iot-warning-page .iot-warning-stage-gauge-val { fill: none; stroke: var(--iot-warning-green); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 326.7; stroke-dashoffset: 45.7; }
.iot-warning-page .iot-warning-stage-gauge-num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .05rem; }
.iot-warning-page .iot-warning-stage-gauge-num b { font-size: 1.7rem; line-height: 1.1; color: var(--iot-warning-dark); }
.iot-warning-page .iot-warning-stage-gauge-num small { font-size: .66rem; color: var(--iot-warning-muted); }
/*仪表下三参量条*/
.iot-warning-page .iot-warning-stage-gauge-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.iot-warning-page .iot-warning-stage-gauge-list li { display: grid; grid-template-columns: 2.2rem 1fr auto; align-items: center; gap: .45rem; font-size: .68rem; }
.iot-warning-page .iot-warning-stage-gauge-list span { color: var(--iot-warning-muted); }
.iot-warning-page .iot-warning-stage-gauge-list em { height: .32rem; border-radius: .2rem; background: var(--iot-warning-soft); overflow: hidden; }
.iot-warning-page .iot-warning-stage-gauge-list em u { display: block; height: 100%; border-radius: .2rem; background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-stage-gauge-list b { font-size: .68rem; color: var(--iot-warning-dark); }
/*振动波形卡*/
.iot-warning-page .iot-warning-stage-wave-head { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.iot-warning-page .iot-warning-stage-wave-head b { font-size: .78rem; color: var(--iot-warning-dark); }
.iot-warning-page .iot-warning-stage-wave-head span { font-size: .64rem; color: var(--iot-warning-muted); }
.iot-warning-page .iot-warning-stage-wave-svg { width: 100%; height: 6.2rem; border-radius: .5rem; background: linear-gradient(160deg,var(--iot-warning-dark),#2a1d1f); }
.iot-warning-page .iot-warning-stage-wave-th { stroke: rgba(255,255,255,.35); stroke-width: 1; stroke-dasharray: 4 4; }
.iot-warning-page .iot-warning-stage-wave-line { fill: none; stroke: var(--iot-warning-green); stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; stroke-dasharray: 620; animation: iot-warning-wave 4s linear infinite; }
@keyframes iot-warning-wave {
  from { stroke-dashoffset: 620; }
  to { stroke-dashoffset: -620; }
}
.iot-warning-page .iot-warning-stage-wave-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .64rem; color: var(--iot-warning-muted); }
.iot-warning-page .iot-warning-stage-wave-foot span { display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap; }
.iot-warning-page .iot-warning-stage-wave-dot { width: .42rem; height: .42rem; border-radius: 50%; background: var(--iot-warning-green); animation: iot-warning-pulse 2s ease-in-out infinite; }
/*预警单流*/
.iot-warning-page .iot-warning-stage-alerts { display: flex; flex-direction: column; gap: .5rem; }
.iot-warning-page .iot-warning-stage-alerts > div { display: flex; align-items: center; gap: .6rem; padding: .45rem .7rem; border: 1px solid var(--iot-warning-line); border-radius: .7rem; }
.iot-warning-page .iot-warning-stage-alerts > div > i { font-size: .95rem; color: var(--iot-warning-muted); }
.iot-warning-page .iot-warning-stage-alerts > div.is-warn > i { color: var(--iot-warning-green); }
.iot-warning-page .iot-warning-stage-alerts > div.is-ok > i { color: #16a34a; }
.iot-warning-page .iot-warning-stage-alerts span { display: flex; flex-direction: column; gap: .05rem; min-width: 0; }
.iot-warning-page .iot-warning-stage-alerts b { font-size: .78rem; color: var(--iot-warning-dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iot-warning-page .iot-warning-stage-alerts em { font-style: normal; font-size: .66rem; color: var(--iot-warning-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iot-warning-page .iot-warning-stage-alerts u { margin-left: auto; flex-shrink: 0; padding: .12rem .5rem; border-radius: 999px; background: var(--iot-warning-soft); color: var(--iot-warning-muted); font-size: .66rem; text-decoration: none; }
.iot-warning-page .iot-warning-stage-alerts .is-warn u { background: var(--iot-warning-green); color: #fff; }
.iot-warning-page .iot-warning-stage-alerts .is-ok u { background: rgba(22,163,74,.1); color: #16a34a; }
/*悬浮卡定位(卡片骨架在公共层)*/
.iot-warning-page .float-card-speed { top: -1.3rem; bottom: auto; left: -1.4rem; }
.iot-warning-page .float-card-live { top: auto; bottom: -1.6rem; right: -1.6rem; }
.iot-warning-page .mini-capability-card { --cap-color: #dc2626; --cap-soft: #f9ecea; --cap-shadow: rgba(220,38,38,.18); --cap-color: var(--iot-warning-green); --cap-soft: #f9ecea; --cap-shadow: rgba(220,38,38,.18); padding: 2.125rem 1.75rem 6.25rem; }
/*============ 十一、吸顶品牌区与产品标题居中对齐(20260925) ============*/
.iot-warning-page .iot-warning-product-nav .container
.iot-warning-page .iot-warning-product-nav .iot-warning-nav-links { flex: 1; justify-content: center; }
.iot-warning-page .builder-final-cta .btn
.iot-warning-page .builder-final-cta .btn:hover { color: #dc2626; box-shadow: 0 1rem 2rem rgba(89,40,40,.28); }
/*以下结构/布局类原仅在 channel_product_mini.css,内联于此使产品页不再引入 mini 基线;颜色仍由上文主题覆盖。*/
.iot-warning-page .iot-warning-heading>span { display: inline-flex; align-items: center; gap: .75rem; color: var(--iot-warning-green); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.iot-warning-page .iot-warning-heading>span:before { content: ""; width: 2rem; height: .125rem; background: currentColor; }
.iot-warning-page .iot-warning-heading h2 { margin: 1.25rem 0 1rem; font-size: clamp(2rem,3.5vw,3.25rem); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; }
.iot-warning-page .iot-warning-heading p { margin: 0; color: var(--iot-warning-muted); font-size: 1rem; line-height: 1.8; }
.iot-warning-page
.iot-warning-heading h2, .iot-warning-page .iot-warning-heading p { white-space: nowrap; }
.iot-warning-page .iot-warning-hero-copy>p { max-width: 35rem; margin: 0; color: #5b665f; font-size: 1.125rem; line-height: 1.85; }
.iot-warning-page .iot-warning-hero-image { width: 100%; height: 100%; object-fit: contain; }
.iot-warning-page .iot-warning-nav-links a { position: relative; color: #5d685f; font-size: .875rem; }
.iot-warning-page .iot-warning-nav-links a:after { content: ""; position: absolute; right: 0; bottom: -1.6rem; left: 0; height: .125rem; background: var(--iot-warning-green); transform: scaleX(0); transition: .2s; }
.iot-warning-page .iot-warning-nav-links a:hover, .iot-warning-page .iot-warning-nav-links a.active { color: #251616; }
.iot-warning-page .iot-warning-nav-links a.active:after { transform: scaleX(1); }
.iot-warning-page .iot-warning-reveal.is-visible { opacity: 1; transform: none; }
.iot-warning-page .iot-warning-hero .container { flex: 1; display: flex; flex-direction: column; }
.iot-warning-page .iot-warning-hero .common-breadcrumb { position: relative; z-index: 2; margin-bottom: 1.5rem; }
.iot-warning-page .iot-warning-hero-row { position: relative; z-index: 1; min-height: auto; flex: 1; align-items: center; }
.iot-warning-page .iot-warning-hero-copy { padding-top: 0; }
.iot-warning-page
.iot-warning-nav-links a.active, .iot-warning-page .iot-warning-nav-links a.active:hover { color: var(--iot-warning-green); }
.iot-warning-page .iot-warning-group-title::after { content: ""; flex: 1; height: 1px; background: var(--iot-warning-line); }
.iot-warning-page .iot-warning-industry-card h4 { margin: 0 0 .7rem; font-size: 1rem; font-weight: 700; }
.iot-warning-page .iot-warning-industry-card:hover { transform: translateY(-.25rem); border-color: color-mix(in srgb,var(--iot-warning-green) 35%,var(--iot-warning-line)); box-shadow: 0 .9rem 2rem color-mix(in srgb,var(--iot-warning-green) 14%,transparent); }
.iot-warning-page .iot-warning-mode-card:hover { transform: translateY(-.25rem); border-color: color-mix(in srgb,var(--iot-warning-green) 35%,var(--iot-warning-line)); box-shadow: 0 .9rem 2rem color-mix(in srgb,var(--iot-warning-green) 14%,transparent); }
.iot-warning-page .iot-warning-mode-index { position: absolute; top: 1.1rem; right: 1.25rem; color: var(--iot-warning-green); font-size: .68rem; font-style: normal; font-weight: 800; letter-spacing: .12em; opacity: .55; }
.iot-warning-page .iot-warning-mode-card h4 { margin: 0 0 .55rem; font-size: 1.05rem; font-weight: 700; }
.iot-warning-page .iot-warning-mode-card p { margin: 0; color: var(--iot-warning-muted); font-size: .82rem; line-height: 1.7; }
/*============ 十五、吸顶导航位置基线(删除 mini 依赖补回,20260930) ============*/
.iot-warning-page
.iot-warning-page .iot-warning-product-nav .container { display: flex; height: 100%; align-items: center; }
.iot-warning-page .iot-warning-product-nav-docked .tncms-header { opacity: 0; pointer-events: none; transform: translateY(-100%); }
.iot-warning-page .iot-warning-product-nav-docked .iot-warning-nav-sentinel { height: 4.4rem; }
.iot-warning-page .iot-warning-product-nav-docked .iot-warning-product-nav { position: fixed; top: 0; right: 0; left: 0; z-index: 1040; }
.iot-warning-page .iot-warning-product-nav-docked .iot-warning-page [id] { scroll-margin-top: 5.6rem; }
.iot-warning-page

.iot-warning-nav-logo { display: block; width: auto; max-width: 0; height: 2.5rem; flex: 0 0 auto; object-fit: contain; object-position: left center; opacity: 0; visibility: hidden; transform: translateY(-.4rem); transition: max-width .28s ease,opacity .2s ease,transform .28s ease,visibility .2s; }
.iot-warning-page .iot-warning-product-nav-docked .iot-warning-nav-logo { max-width: 10.5rem; opacity: 1; visibility: visible; transform: none; }
/*============ 十六、mini 基线全量内联(删除 channel_product_mini.css 依赖,20261001) ============*/
/*原选择器原样并入(0-1-0),颜色/主题由上文 .iot-warning-page.*(0-2-0)覆盖;docking/媒体查询/keyframes 完整保留。*/
/** 其余公共样式已统一抽取至 inc_style.css（全站公共样式表，先于本文件加载）。*/
/*主题变量（box-sizing、a 链接、scroll-margin 已由公共层 inc_style.css 提供）*/
/*Hero 装饰（面包屑颜色/分隔符由全站统一 .common-breadcrumb 提供）*/
.iot-warning-hero:after { content: ""; position: absolute; width: 31rem; height: 31rem; right: -8rem; bottom: -19rem; border: 1px solid rgba(4,22,8,.12); border-radius: 50%; }
.iot-warning-hero-glow { position: absolute; width: 33rem; height: 33rem; right: 7%; top: 4rem; background: radial-gradient(circle,rgba(220,38,38,.18),transparent 67%); filter: blur(2rem); }
/*区块标题系统*/
.iot-warning-heading { max-width: none; margin: 0 auto 3.75rem; text-align: center; }
.iot-warning-heading.text-start { margin-left: 0; }
.iot-warning-heading>span { display: inline-flex; align-items: center; gap: .75rem; color: var(--iot-warning-green); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.iot-warning-heading>span:before { content: ""; width: 2rem; height: .125rem; background: currentColor; }
.iot-warning-heading h2 { margin: 1.25rem 0 1rem; font-size: clamp(2rem,3.5vw,3.25rem); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; }
.iot-warning-heading p { margin: 0; color: var(--iot-warning-muted); font-size: 1rem; line-height: 1.8; }
/*区块标题、描述桌面端单行展示；小屏由 767.98px 断点恢复换行*/
.iot-warning-heading h2, .iot-warning-heading p { white-space: nowrap; }
/*Hero 文案与配图*/
.iot-warning-hero h1 { max-width: 37rem; margin: 1.5rem 0 1.25rem; font-size: clamp(2.65rem,4vw,3.35rem); text-wrap: balance; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.iot-warning-hero-copy>p { max-width: 35rem; margin: 0; color: #5b665f; font-size: 1.125rem; line-height: 1.85; }
.iot-warning-hero-image { width: 100%; height: 100%; object-fit: contain; }
/*产品导航链接*/
.iot-warning-product-nav.is-stuck { box-shadow: 0 .5rem 1.5rem rgba(49,26,27,.07); }
.iot-warning-product-nav .container { display: flex; height: 100%; align-items: center; }
.iot-warning-nav-links a { position: relative; color: #5d685f; font-size: .875rem; }
.iot-warning-nav-links a:after { content: ""; position: absolute; right: 0; bottom: -1.6rem; left: 0; height: .125rem; background: var(--iot-warning-green); transform: scaleX(0); transition: .2s; }
.iot-warning-nav-links a:hover, .iot-warning-nav-links a.active { color: #251616; }
.iot-warning-nav-links a.active:after { transform: scaleX(1); }
/*区块通用间距*/
.iot-warning-section { padding: 7.5rem 0; }
/*特色功能兜底插图（未配置图片时的设备示意图）*/
.iot-warning-feature-device { position: relative; width: 13rem; height: 22rem; padding: 2.2rem 1.1rem 1rem; border: .15rem solid #111; border-radius: 1.5rem; background: #fff; box-shadow: 0 2rem 3rem rgba(5,20,9,.16); }
.iot-warning-feature-device>i { display: block; width: 4rem; height: .35rem; background: #281a1a; }
.iot-warning-feature-device>b { display: block; height: 5.5rem; margin: 1.4rem 0 1rem; background: var(--iot-warning-green); }
.iot-warning-feature-device>span { display: inline-block; width: 42%; height: 4rem; margin-right: .5rem; background: #eee3e2; }
.iot-warning-feature-device>em { display: block; width: 85%; height: .5rem; margin-top: 1rem; background: #ccd4cf; }
.iot-warning-feature-data { position: absolute; right: 8%; bottom: 12%; width: 9rem; padding: 1.2rem; background: #231514; box-shadow: 0 1rem 2rem rgba(0,0,0,.2); }
.iot-warning-feature-data i { display: inline-block; width: 1.5rem; height: 4rem; margin-right: .45rem; background: #f4dbde; vertical-align: bottom; }
.iot-warning-feature-data i:nth-child(2) { height: 5.8rem; background: var(--iot-warning-green); }
.iot-warning-feature-data i:nth-child(3) { height: 3rem; }
.iot-warning-feature-data strong { display: block; width: 70%; height: .35rem; margin-top: 1rem; background: #68726b; }
/*滚动显现动效*/
.iot-warning-reveal { opacity: 0; transform: translateY(2rem); transition: opacity .7s ease,transform .7s ease; }
.iot-warning-reveal.is-visible { opacity: 1; transform: none; }
@media (max-width:1199.98px) {
  .iot-warning-nav-links a { font-size: .78rem; }
  .iot-warning-feature-copy { padding: 3rem; }
  .iot-warning-page .builder-scenario-copy { padding: 3rem; }
}
@media (max-width:991.98px) {
  .iot-warning-hero-copy>p { margin: auto; }
  .iot-warning-actions { justify-content: center; }
  .iot-warning-product-nav { overflow-x: auto; }
  .iot-warning-product-nav .container { width: max-content; max-width: none; min-width: 100%; padding-right: 1rem; padding-left: 1rem; }
  .iot-warning-nav-brand, .iot-warning-nav-cta { position: sticky; z-index: 2; background: #fff; }
  .iot-warning-nav-brand { left: 0; padding-right: 1rem; }
  .iot-warning-nav-cta { right: 0; margin-left: 1rem; }
  .iot-warning-section { padding: 6rem 0; }
  .iot-warning-heading.text-start { max-width: none; }
}
@media (max-width:767.98px) {
  .iot-warning-hero-row { min-height: auto; }
  .iot-warning-hero h1 { font-size: 2.55rem; }
  .iot-warning-hero-copy>p { font-size: 1rem; }
  .iot-warning-product-nav { height: 3.9rem; }
  .iot-warning-nav-links a:after { bottom: -1.35rem; }
  .iot-warning-nav-cta { display: none; }
  .iot-warning-section { padding: 4.5rem 0; }
  .iot-warning-heading { margin-bottom: 2.75rem; }
  .iot-warning-heading h2 { font-size: 2.15rem; }
  .iot-warning-heading h2, .iot-warning-heading p { white-space: normal; }
  .iot-warning-feature-row { min-height: auto; }
}
@media (max-width:479.98px) {
  .iot-warning-hero h1 { font-size: 2.25rem; letter-spacing: -.035em; }
  .iot-warning-actions { width: 100%; max-width: 100%; margin-right: 0; margin-left: 0; }
  .iot-warning-actions .btn { width: 100%; }
  .iot-warning-heading h2 { font-size: 1.85rem; }
  .iot-warning-feature-device { width: 11rem; height: 20rem; }
  .iot-warning-feature-data { right: 3%; width: 8rem; }
}
@media (prefers-reduced-motion:reduce) {
  .iot-warning-reveal { opacity: 1; transform: none; transition: none; }
  .iot-warning-btn-primary, .iot-warning-btn-outline { transition: none; }
}
/*Keep the overview close to the breadcrumb and identify the product at a glance.*/
.iot-warning-hero { position: relative; background: linear-gradient(135deg,#fff7f8 0%,#ffeaed 52%,#fff4f6 100%); overflow: hidden; display: flex; flex-direction: column; min-height: calc(100svh - var(--tncms-header-height,4.375rem)); padding: 1.5rem 0 3rem; }
.iot-warning-hero .container { flex: 1; display: flex; flex-direction: column; }
.iot-warning-hero .common-breadcrumb { position: relative; z-index: 2; margin-bottom: 1.5rem; }
/*首屏背景栅格：与首页 banner-container 一致的浅色网格纹理，绿色调适配*/
.iot-warning-hero:before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image: linear-gradient(rgba(11,92,36,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(11,92,36,.07) 1px,transparent 1px); background-size: 2.75rem 2.75rem; -webkit-mask-image: linear-gradient(to bottom,#000,transparent 94%); mask-image: linear-gradient(to bottom,#000,transparent 94%); }
.iot-warning-hero-row { position: relative; z-index: 1; min-height: auto; flex: 1; align-items: center; }
.iot-warning-hero-copy { padding-top: 0; }
.iot-warning-hero-kicker { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: .15rem; padding: .48rem .8rem; border: 1px solid rgba(220,38,38,.2); border-radius: 2rem; background: rgba(255,255,255,.76); color: #c44443; font-size: .76rem; font-weight: 700; letter-spacing: .04em; box-shadow: 0 .5rem 1.5rem rgba(220,38,38,.08); }
@media (max-width:991.98px) {
  .iot-warning-hero { min-height: auto; padding-bottom: 2.75rem; }
  .iot-warning-hero-copy { text-align: center; padding-top: .75rem; }
}
@media (max-width:767.98px) {
  .iot-warning-hero { min-height: auto; padding-top: 1.1rem; }
  .iot-warning-hero-copy { padding-top: .5rem; }
  .iot-warning-hero-kicker { margin-bottom: 0; }
}
/*Features: light, spacious product showcase inspired by the approved reference.*/
.iot-warning-features { padding-top: 6.25rem; background: #fff0f1; color: #1c1110; }
.iot-warning-feature-list { display: flex; flex-direction: column; gap: 7rem; border-top: 0; }
.iot-warning-feature-row, .iot-warning-feature-row.is-reverse { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); align-items: center; gap: 6rem; min-height: 35rem; border-bottom: 0; }
.iot-warning-feature-row.is-reverse { grid-template-columns: minmax(0,1.15fr) minmax(0,.9fr); }
.iot-warning-feature-row.is-reverse .iot-warning-feature-copy { order: 2; }
.iot-warning-feature-copy { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 3rem 1.5rem; }
.iot-warning-feature-copy small { color: var(--iot-warning-green); font-size: .8rem; font-weight: 500; letter-spacing: .28em; }
.iot-warning-feature-copy h3 { max-width: 29rem; margin: 1.45rem 0 1.7rem; font-size: clamp(1.8rem,2.65vw,2.65rem); line-height: 1.3; letter-spacing: -.025em; }
.iot-warning-feature-copy p { position: relative; max-width: 34rem; margin: 0; padding-left: 1.75rem; color: #6d7588; font-size: 1.05rem; line-height: 1.9; }
.iot-warning-feature-copy p:before { content: ""; position: absolute; top: .78rem; left: 0; width: .48rem; height: .48rem; border-radius: 50%; background: var(--iot-warning-green); }
.iot-warning-feature-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.iot-warning-feature-details li { display: flex; min-width: 0; min-height: 4.75rem; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid #eadede; border-radius: .85rem; background: rgba(255,255,255,.76); transition: border-color .22s ease,background-color .22s ease,transform .22s ease,box-shadow .22s ease; }
.iot-warning-feature-details li:hover { border-color: #e6b7b7; background: #fff; transform: translateY(-.125rem); box-shadow: 0 .65rem 1.5rem rgba(106,51,50,.07); }
.iot-warning-feature-details>li>i { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: .65rem; background: #f9e9e9; color: #dc2626; font-size: 1rem; }
.iot-warning-feature-details span { display: flex; min-width: 0; flex-direction: column; }
.iot-warning-feature-details b { color: #312221; font-size: .84rem; font-weight: 650; line-height: 1.35; }
.iot-warning-feature-details em { margin-top: .2rem; color: #917c7b; font-size: .7rem; font-style: normal; line-height: 1.45; }
.iot-warning-feature-copy>span { display: none; }
.iot-warning-feature-visual, .iot-warning-feature-row picture { position: relative; display: grid; place-items: center; overflow: hidden; min-height: 35rem; border-radius: 1.75rem; background: #f9e9e9; }
.iot-warning-feature-row picture img { width: 100%; height: 100%; object-fit: cover; }
.iot-warning-features .iot-warning-feature-device { width: 16rem; height: 25rem; }
@media (max-width:1199.98px) {
  .iot-warning-feature-row, .iot-warning-feature-row.is-reverse { gap: 3.5rem; }
  .iot-warning-feature-copy { padding: 2.5rem 1rem; }
}
@media (max-width:991.98px) {
  .iot-warning-feature-list { gap: 5rem; }
  .iot-warning-feature-row, .iot-warning-feature-row.is-reverse { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; }
  .iot-warning-feature-row.is-reverse .iot-warning-feature-copy { order: 0; }
  .iot-warning-feature-copy { padding: 0 1rem; }
  .iot-warning-feature-visual, .iot-warning-feature-row picture { min-height: 31rem; }
}
@media (max-width:767.98px) {
  .iot-warning-features { padding-top: 4.5rem; }
  .iot-warning-feature-list { gap: 4.25rem; }
  .iot-warning-feature-copy { padding: 0; }
  .iot-warning-feature-copy small { font-size: .72rem; }
  .iot-warning-feature-copy h3 { margin: 1rem 0 1.25rem; font-size: 1.8rem; }
  .iot-warning-feature-copy p { padding-left: 1.35rem; font-size: .95rem; line-height: 1.8; }
  .iot-warning-feature-copy p:before { top: .68rem; }
  .iot-warning-feature-visual, .iot-warning-feature-row picture { min-height: 25rem; border-radius: 1.2rem; }
  .iot-warning-features .iot-warning-feature-device { width: 12rem; height: 21rem; }
}
@media (max-width:575.98px) {
  .iot-warning-feature-details { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .iot-warning-feature-details li { min-height: 4.25rem; }
  .iot-warning-feature-details em { font-size: .72rem; }
}
/*Replace the site header with the product navigation after the hero.*/
.iot-warning-nav-sentinel { width: 100%; height: 0; }
.iot-warning-product-nav { position: sticky; z-index: 100; height: 4.4rem; border-bottom: 1px solid var(--iot-warning-line); background: rgba(255,255,255,.96); backdrop-filter: blur(1rem); top: var(--tncms-header-height); transition: top .28s ease,box-shadow .28s ease; }
.iot-warning-product-nav-docked .tncms-header { opacity: 0; pointer-events: none; transform: translateY(-100%); }
.iot-warning-product-nav-docked .iot-warning-nav-sentinel { height: 4.4rem; }
.iot-warning-product-nav-docked .iot-warning-product-nav { position: fixed; top: 0; right: 0; left: 0; z-index: 1040; box-shadow: 0 .5rem 1.5rem rgba(49,26,27,.1); }
.iot-warning-product-nav-docked .iot-warning-page [id] { scroll-margin-top: 5.6rem; }
@media (max-width:767.98px) {
  .iot-warning-product-nav-docked .iot-warning-nav-sentinel { height: 3.9rem; }
  .iot-warning-product-nav-docked .iot-warning-page [id] { scroll-margin-top: 4.75rem; }
}
.iot-warning-product-nav-docked .iot-warning-nav-logo { max-width: 10.5rem; opacity: 1; visibility: visible; transform: none; }
.iot-warning-actions { display: flex; margin-top: 2.25rem; gap: .812rem; }
.iot-warning-btn-primary, .iot-warning-btn-outline { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; min-height: auto; padding: .812rem 1.625rem; border-radius: .5rem; font-size: .95rem; font-weight: 650; transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease; }
.iot-warning-btn-primary { border-color: var(--iot-warning-green); background: var(--iot-warning-green); color: #fff; box-shadow: 0 .75rem 1.562rem rgba(220,38,38,.23); }
.iot-warning-btn-primary:hover { border-color: #c44443; background: #c44443; color: #fff; transform: translateY(-.125rem); box-shadow: 0 1rem 1.875rem rgba(220,38,38,.3); }
.iot-warning-btn-outline { border: 1px solid #cfd9d1; background: rgba(255,255,255,.72); color: #563d3e; }
.iot-warning-btn-outline:hover { border-color: #dca7a7; background: #fff; color: #c44443; transform: translateY(-.125rem); }
.iot-warning-nav-cta { flex: 0 0 auto; padding: .562rem 1.375rem; border: 0; border-radius: 62.438rem; background: var(--iot-warning-green); color: #fff; font-size: .8rem; font-weight: 650; box-shadow: none; transition: background-color .22s ease,transform .22s ease,box-shadow .22s ease; }
.iot-warning-nav-cta:hover { background: #c44443; color: #fff; transform: translateY(-.062rem); box-shadow: 0 .5rem 1.25rem rgba(220,38,38,.2); }
.iot-warning-btn-primary:focus-visible, .iot-warning-btn-outline:focus-visible, .iot-warning-nav-cta:focus-visible { outline: .18rem solid rgba(220,38,38,.32); outline-offset: .18rem; }
@media (max-width:767.98px) {
  .iot-warning-product-nav-docked .iot-warning-nav-logo { height: 2rem; }
  .iot-warning-actions { flex-direction: column; align-items: stretch; max-width: 21rem; margin-right: auto; margin-left: auto; gap: .812rem; }
}
/*Feature scenes: every illustration mirrors the business meaning of its copy.*/
.iot-warning-feature-visual { isolation: isolate; }
.iot-warning-feature-visual:before, .iot-warning-feature-visual:after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.iot-warning-feature-visual:before { width: 24rem; height: 24rem; right: -8rem; top: -10rem; border: 1px solid rgba(114,53,52,.1); }
.iot-warning-feature-visual:after { width: 18rem; height: 18rem; left: -8rem; bottom: -10rem; background: rgba(255,255,255,.34); }
.iot-warning-workspace-banner small, .iot-warning-workspace-banner strong, .iot-warning-workspace-banner span { display: block; }
/*深色数据浮卡：预约/销售/增长三卡共用深色基座，各自仅保留定位与尺寸*/
/*Keep the active navigation label aligned with the configurable product theme.*/
.iot-warning-nav-links a.active, .iot-warning-nav-links a.active:hover { color: var(--iot-warning-green); }
/*品牌标题默认展示（右侧竖线分隔），LOGO 吸顶后展开；几何与字度对齐解决方案锚点导航*/
.iot-warning-nav-brand { color: #2a1818; font-size: 1.05rem; font-weight: 800; letter-spacing: -0.015em; line-height: 1.2; display: flex; align-items: center; gap: .75rem; overflow: hidden; white-space: nowrap; width: max-content; flex: 0 0 auto; padding-right: 1.25rem; border-right: 1px solid #eadbdc; }
.iot-warning-nav-links { display: flex; gap: 1.65rem; white-space: nowrap; justify-content: flex-start; margin-right: auto; margin-left: 1.25rem; }
@media (max-width:991.98px) {
  .iot-warning-nav-brand { padding-right: .875rem; font-size: .96rem; }
  .iot-warning-product-nav-docked .iot-warning-nav-logo { height: 2.25rem; }
  .iot-warning-nav-links { margin-left: 1.1rem; }
}
@media (max-width:767.98px) {
  .iot-warning-nav-brand { padding-right: .75rem; }
  .iot-warning-nav-links { margin-left: 1rem; gap: 1rem; }
}
/*Product overview hero: split headline, trust points and visual miniapp studio.*/
.iot-warning-hero h1 em { color: var(--iot-warning-green); font-style: normal; }
.iot-warning-hero-trust { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.625rem; color: #66736b; font-size: .82rem; }
.iot-warning-hero-trust span { display: inline-flex; align-items: center; white-space: nowrap; }
.iot-warning-hero-trust i { margin-right: .375rem; color: #dc2626; font-size: .9rem; }
.iot-warning-workspace-tools span.active { background: #f9e9e9; color: #c44443; }
@media (max-width:991.98px) {
  .iot-warning-hero-trust { justify-content: center; }
}
@media (max-width:767.98px) {
  .iot-warning-hero-trust { gap: .625rem 1rem; margin-top: 1.25rem; font-size: .76rem; }
}
@media (max-width:479.98px) {
  .iot-warning-hero-trust { display: grid; grid-template-columns: repeat(2,max-content); justify-content: center; }
}
/*特色功能标题：复用 .iot-warning-heading 体系（HTML 已不再叠加 iot-warning-feature-heading），仅保留段落约束差异*/
.iot-warning-features .iot-warning-heading p { max-width: 42rem; margin-right: auto; margin-left: auto; }
@media (max-width:767.98px) {
  .iot-warning-features .iot-warning-heading p { font-size: .95rem; line-height: 1.75; }
}
/*结尾 CTA：结构复用公共层 .builder-final-cta（inc_style.css），此处仅保留绿色装饰与按钮配色差异*/
.iot-warning-page .builder-final-cta:before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 2.75rem 2.75rem; opacity: .3; pointer-events: none; }
.iot-warning-page .builder-final-cta:after { content: ""; position: absolute; right: -9rem; bottom: -19rem; width: 38rem; height: 38rem; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; pointer-events: none; }
.iot-warning-page .builder-final-cta .container { z-index: 1; }
.iot-warning-page .builder-final-cta .btn { color: #c44443; box-shadow: 0 .875rem 1.875rem rgba(89,40,40,.2); transition: transform .22s ease,box-shadow .22s ease; color: #c44443; box-shadow: 0 .875rem 1.875rem rgba(89,40,40,.2); }
.iot-warning-page .builder-final-cta .btn:hover { color: #7e3c3b; box-shadow: 0 1rem 2rem rgba(89,40,40,.28); color: #dc2626; box-shadow: 0 1rem 2rem rgba(89,40,40,.28); }
@media (max-width:767.98px) {
  .iot-warning-page .builder-final-cta .container { padding-right: 1.25rem; padding-left: 1.25rem; }
  .iot-warning-page .builder-final-cta h2 { font-size: 2rem; line-height: 1.3; }
}
/*数据带：结构复用公共层 .builder-proof/.proof-item（inc_style.css），此处仅保留绿色系分隔线与字色差异*/
.iot-warning-page .proof-item:after { background: #efe2e3; }
.iot-warning-page .proof-item strong { color: #231514; }
.iot-warning-page .proof-item p { color: #849087; }
@media (max-width:767.98px) {
  .iot-warning-page .builder-proof [class*="col-"]:nth-child(odd) .proof-item { border-color: #efe2e3; }
  .iot-warning-page .builder-proof [class*="col-"]:nth-child(-n+2) .proof-item { border-color: #efe2e3; }
}
/*Build workflow: follows the tncms-builder information architecture in the iot-warning-app visual language.*/
.iot-warning-development { background: #fff; }
.iot-warning-workflow-visual { position: relative; min-height: 31rem; border-radius: 1.5rem; background: radial-gradient(circle at 78% 20%,rgba(220,38,38,.14),transparent 30%), linear-gradient(145deg,#f5ebeb,#fbf6f6); overflow: hidden; }
.iot-warning-workflow-editor { position: absolute; top: 4.25rem; right: 2.75rem; bottom: 3.25rem; left: 2.75rem; overflow: hidden; border: 1px solid #e9d7d8; border-radius: .85rem; background: #fff; box-shadow: 0 1.5rem 3rem rgba(94,43,43,.15); }
.iot-warning-workflow-editor-bar { display: flex; height: 2.35rem; align-items: center; padding: 0 .75rem; border-bottom: 1px solid #efe5e4; color: #6e5b5a; font-size: .6rem; }
.iot-warning-workflow-editor-bar>span { display: flex; gap: .3rem; }
.iot-warning-workflow-editor-bar>span i { width: .38rem; height: .38rem; border-radius: 50%; background: #e2d1d0; }
.iot-warning-workflow-editor-bar>b { margin: auto; font-size: .62rem; font-weight: 600; }
.iot-warning-workflow-editor-bar>em { padding: .25rem .5rem; border-radius: 2rem; background: #f9e9e9; color: #c44443; font-size: .52rem; font-style: normal; }
.iot-warning-workflow-editor-body { display: grid; height: calc(100% - 2.35rem); grid-template-columns: 2.65rem 1fr; }
.iot-warning-workflow-editor-body aside { display: flex; flex-direction: column; align-items: center; gap: .85rem; padding-top: 1rem; border-right: 1px solid #efe5e4; background: #fffbfa; }
.iot-warning-workflow-editor-body aside i { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: .35rem; color: #af9999; font-size: .72rem; }
.iot-warning-workflow-editor-body aside i.active { background: #f9e9e9; color: #c44443; }
.iot-warning-workflow-canvas { position: relative; display: grid; place-items: center; background-color: #f9f4f4; background-image: linear-gradient(rgba(145,83,83,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(145,83,83,.05) 1px,transparent 1px); background-size: 1.25rem 1.25rem; }
.iot-warning-workflow-components { position: absolute; z-index: 3; top: 1.45rem; left: .2rem; display: flex; width: 9.4rem; flex-direction: column; gap: .45rem; padding: .9rem; border: 1px solid #e4d7d6; border-radius: .7rem; background: rgba(255,255,255,.96); box-shadow: 0 1rem 2rem rgba(98,45,45,.14); }
.iot-warning-workflow-components small { margin-bottom: .15rem; color: #859188; font-size: .62rem; }
.iot-warning-workflow-components span { padding: .5rem; border-radius: .38rem; background: #f8f3f2; color: #657169; font-size: .64rem; }
.iot-warning-workflow-components span i { margin-right: .4rem; color: #dc2626; }
.iot-warning-workflow-publish { position: absolute; z-index: 4; right: 1.1rem; bottom: 1.5rem; display: flex; align-items: center; gap: .65rem; padding: .75rem .9rem; border: 1px solid #e9d7d8; border-radius: .7rem; background: #fff; box-shadow: 0 1rem 2rem rgba(98,45,45,.14); }
.iot-warning-workflow-publish>i { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #f3e2e1; color: #c44443; }
.iot-warning-workflow-publish span, .iot-warning-workflow-publish b, .iot-warning-workflow-publish small { display: block; }
.iot-warning-workflow-publish b { color: #251616; font-size: .68rem; }
.iot-warning-workflow-publish small { margin-top: .1rem; color: #879189; font-size: .55rem; }
.iot-warning-workflow-cursor { position: absolute; z-index: 5; right: 25%; bottom: 34%; color: #dc2626; }
.iot-warning-workflow-cursor>i { font-size: 1.3rem; transform: rotate(-15deg); }
.iot-warning-workflow-cursor span { margin-left: .2rem; padding: .3rem .5rem; border-radius: .3rem; background: var(--iot-warning-green); color: #fff; font-size: .55rem; box-shadow: 0 .45rem 1rem rgba(220,38,38,.25); }
.iot-warning-workflow-steps { margin: 0; padding: 0; list-style: none; }
.iot-warning-workflow-steps li { position: relative; display: flex; gap: 1.3rem; padding: .95rem 0; }
.iot-warning-workflow-steps li:not(:last-child):after { content: ""; position: absolute; top: 3.5rem; bottom: -.35rem; left: 1.25rem; width: 1px; background: #eadada; }
.iot-warning-workflow-steps li>b { display: flex; width: 2.55rem; height: 2.55rem; flex: 0 0 2.55rem; align-items: center; justify-content: center; border-radius: 50%; background: #f9e9e9; color: #c44443; font-size: .7rem; }
.iot-warning-workflow-steps h3 { margin: .05rem 0 .4rem; font-size: 1.08rem; }
.iot-warning-workflow-steps p { margin: 0; color: var(--iot-warning-muted); font-size: .88rem; line-height: 1.7; }
@media (max-width:991.98px) {
  .iot-warning-workflow-visual { min-height: 29rem; }
}
@media (max-width:767.98px) {
  .iot-warning-workflow-row { --bs-gutter-y: 2.75rem; }
  .iot-warning-workflow-visual { min-height: 23rem; border-radius: 1rem; }
  .iot-warning-workflow-editor { top: 2.75rem; right: 1rem; bottom: 2rem; left: 1.35rem; }
  .iot-warning-workflow-components { left: 0; transform: scale(.82); transform-origin: top left; }
  .iot-warning-workflow-publish { right: .25rem; bottom: .7rem; transform: scale(.86); transform-origin: bottom right; }
  .iot-warning-workflow-cursor { right: 15%; bottom: 30%; }
  .iot-warning-workflow-steps p { font-size: .84rem; }
}
@media (max-width:479.98px) {
  .iot-warning-workflow-visual { min-height: 20rem; }
  .iot-warning-workflow-editor { top: 1.5rem; left: .75rem; }
  .iot-warning-workflow-components { display: none; }
  .iot-warning-workflow-publish { right: .1rem; }
  .iot-warning-workflow-cursor { right: 9%; bottom: 25%; }
  .iot-warning-workflow-steps li { gap: 1rem; }
}
/*适用场景：结构复用公共层 .builder-scenario-*（inc_style.css），此处仅保留绿色主题覆盖与 mini 专属插图*/
.iot-warning-page .builder-scenarios .iot-warning-heading { margin-bottom: 3.5rem; }
.iot-warning-page .builder-scenario-shell { box-shadow: 0 1.75rem 4.5rem rgba(18,50,26,.1); }
/*场景 Tab：绿色主题变量与色号覆盖（结构、编号、Chevron、响应式均由公共层提供）*/
.iot-warning-page .builder-scenario-tabs { --scenario-tab-accent: var(--iot-warning-green); --scenario-tab-dark: #251616; background: linear-gradient(155deg,#f8f3f2,#f3e9e9); }
.iot-warning-page .builder-scenario-tabs button { color: #5f6c63; }
.iot-warning-page .builder-scenario-tabs button::before { border-color: #e2d4d4; color: #8b978f; }
.iot-warning-page .builder-scenario-tabs button.active { box-shadow: 0 1rem 2.25rem rgba(69,33,33,.18); }
.iot-warning-page .builder-scenario-tabs button.active::before { border-color: rgba(220,38,38,.3); background: rgba(220,38,38,.14); color: #e58a8a; }
.iot-warning-page .builder-scenario-tabs button:focus-visible { outline: .1875rem solid rgba(220,38,38,.28); }
.iot-warning-page .builder-scenario-tabs button::after, .iot-warning-page .builder-scenario-tabs button.active::after { color: #819087; }
/*场景文案：徽章与链接绿色化*/
.iot-warning-page .builder-scenario-copy>span { border-color: #e9ced0; background: #f9f0f0; color: #c44443; }
.iot-warning-page .builder-scenario-copy p { color: #647169; }
.iot-warning-page .builder-scenario-copy a:hover { color: #c44443; }
/*场景视觉：绿色渐变底、网格与色调*/
.iot-warning-page .builder-scenario-visual { background: linear-gradient(145deg,#f5e7e6 0%,#f1cfd0 100%); }
.iot-warning-page .builder-scenario-visual::before { background-image: linear-gradient(rgba(122,57,56,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(122,57,56,.055) 1px,transparent 1px); }
.iot-warning-page .builder-scenario-visual::after { border-color: rgba(81,37,37,.13); }
@media (max-width:767.98px) {
  .iot-warning-page .builder-scenarios .iot-warning-heading { margin-bottom: 2.5rem; }
}
@media (max-width:479.98px) {
  .iot-warning-page .builder-scenario-tabs button { flex-basis: 6.5rem; padding: 1.1rem .6rem; font-size: .8rem; }
}
@media (max-width:1199.98px) {
  .iot-warning-page .builder-scenario-copy { padding: 2.5rem; }
}
@media (max-width:991.98px) {
  .iot-warning-page .builder-scenario-copy { padding: 2.25rem; }
}
@media (max-width:767.98px) {
  .iot-warning-page .builder-scenario-copy { padding: 2.25rem 1.5rem 2rem; }
  .iot-warning-page .builder-scenario-copy h3 { font-size: 2.25rem; margin: 1.125rem 0 .875rem; }
}
/*核心能力：主题卡基座复用公共层（inc_style.css 已挂接 .mini-capability-card），此处仅保留绿色变量、4n 色变体与布局差异*/
.iot-warning-capabilities { background: #fff0f1; }
.iot-warning-page .mini-capability-card p { color: var(--iot-warning-muted); font-size: .92rem; }
/*核心能力分组标题：英文角标 + 标题 + 分隔线，跟在主标题后时不再叠加上边距*/
.iot-warning-group-title { display: flex; align-items: center; gap: .9rem; margin: 3.5rem 0 1.75rem; color: var(--iot-warning-dark); font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; }
.iot-warning-heading+.iot-warning-group-title { margin-top: 0; }
.iot-warning-group-title>span { padding: .32rem .7rem; border-radius: 2rem; background: color-mix(in srgb,var(--iot-warning-green) 12%,#fff); color: var(--iot-warning-green); font-size: .62rem; font-weight: 800; letter-spacing: .14em; }
.iot-warning-group-title::after { content: ""; flex: 1; height: 1px; background: var(--iot-warning-line); }
/*全行业类型紧凑卡：图标 + 名称 + 细分标签*/
.iot-warning-industry-card { height: 100%; padding: 1.375rem 1.25rem; border: 1px solid var(--iot-warning-line); border-radius: .9rem; background: #fff; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.iot-warning-industry-card>i { display: flex; width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; margin-bottom: .85rem; border-radius: .65rem; background: color-mix(in srgb,var(--iot-warning-green) 10%,#fff); color: var(--iot-warning-green); font-size: 1.05rem; }
.iot-warning-industry-card h4 { margin: 0 0 .7rem; font-size: 1rem; font-weight: 700; }
.iot-warning-industry-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.iot-warning-industry-tags span { padding: .24rem .5rem; border-radius: .35rem; background: var(--iot-warning-soft); color: var(--iot-warning-muted); font-size: .66rem; line-height: 1.5; }
.iot-warning-industry-card:hover { transform: translateY(-.25rem); border-color: color-mix(in srgb,var(--iot-warning-green) 35%,var(--iot-warning-line)); box-shadow: 0 .9rem 2rem color-mix(in srgb,var(--iot-warning-green) 14%,transparent); }
/*交付模式卡：序号 + 图标 + 名称 + 说明*/
.iot-warning-mode-card { position: relative; height: 100%; padding: 1.5rem 1.375rem; border: 1px solid var(--iot-warning-line); border-radius: .9rem; background: #fff; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.iot-warning-mode-card:hover { transform: translateY(-.25rem); border-color: color-mix(in srgb,var(--iot-warning-green) 35%,var(--iot-warning-line)); box-shadow: 0 .9rem 2rem color-mix(in srgb,var(--iot-warning-green) 14%,transparent); }
.iot-warning-mode-index { position: absolute; top: 1.1rem; right: 1.25rem; color: var(--iot-warning-green); font-size: .68rem; font-style: normal; font-weight: 800; letter-spacing: .12em; opacity: .55; }
.iot-warning-mode-card>i { display: flex; width: 2.6rem; height: 2.6rem; align-items: center; justify-content: center; margin-bottom: 1rem; border-radius: .7rem; background: color-mix(in srgb,var(--iot-warning-green) 10%,#fff); color: var(--iot-warning-green); font-size: 1.15rem; }
.iot-warning-mode-card h4 { margin: 0 0 .55rem; font-size: 1.05rem; font-weight: 700; }
.iot-warning-mode-card p { margin: 0; color: var(--iot-warning-muted); font-size: .82rem; line-height: 1.7; }
/*更多特色功能卡:图标 + 名称 + 说明 + 标签,4 列栅格补充大功能行*/
.iot-warning-hot-card { display: flex; flex-direction: column; height: 100%; padding: 1.375rem 1.25rem; border: 1px solid var(--iot-warning-line); border-radius: .9rem; background: #fff; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.iot-warning-hot-card:hover { transform: translateY(-.25rem); border-color: color-mix(in srgb,var(--iot-warning-green) 35%,var(--iot-warning-line)); box-shadow: 0 .9rem 2rem color-mix(in srgb,var(--iot-warning-green) 14%,transparent); }
.iot-warning-hot-card>i { display: flex; width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; margin-bottom: .85rem; border-radius: .65rem; background: color-mix(in srgb,var(--iot-warning-green) 10%,#fff); color: var(--iot-warning-green); font-size: 1.05rem; }
.iot-warning-hot-card h4 { margin: 0 0 .55rem; font-size: 1rem; font-weight: 700; }
.iot-warning-hot-card p { flex: 1; margin: 0 0 .85rem; color: var(--iot-warning-muted); font-size: .8rem; line-height: 1.7; }
.iot-warning-hot-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.iot-warning-hot-tags span { padding: .24rem .5rem; border-radius: .35rem; background: var(--iot-warning-soft); color: var(--iot-warning-muted); font-size: .66rem; line-height: 1.5; }
@media (max-width:767.98px) {
  .iot-warning-group-title { margin: 2.75rem 0 1.25rem; font-size: 1.15rem; }
}
@media (max-width:767.98px) {
  .iot-warning-page .mini-capability-card { min-height: auto; padding: 1.75rem; }
  .iot-warning-page .mini-capability-card .capability-icon { margin-bottom: 1.5rem; }
}
@media (min-width: 1400px) {
  .iot-warning-page .iot-warning-hero { min-height: var(--tncms-product-hero-height); }
  .iot-warning-page .iot-warning-hero h1 { max-width: 42rem; font-size: clamp(2.9rem, 3.1vw, 3.375rem); }
  .iot-warning-page .iot-warning-hero-copy > p { max-width: 39rem; }
}
@media (min-width: 1400px) and (max-height: 899.98px) {
  .iot-warning-page .iot-warning-hero { min-height: clamp(39rem, calc(100svh - 4.375rem), 42rem); }
}
/*主题收口:压过内联基线中的旧前缀规则。*/
@media (max-width: 767.98px) {
  .iot-warning-page .builder-proof [class*="col-"]:nth-child(odd) .proof-item { border-right-color: #ebdbdc; }
  .iot-warning-page .builder-proof [class*="col-"]:nth-child(-n+2) .proof-item { border-bottom-color: #ebdbdc; }
}
/*---- 主题标题:副标题渐变字 + 荧光笔触 ----*/
.iot-warning-page .iot-warning-hero h1 em { position: relative; font-style: normal; color: #c44443; }
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  .iot-warning-page .iot-warning-hero h1 em { background: linear-gradient(115deg,#c44443 15%,#e17c7c 60%,#e58a8a); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
}
.iot-warning-page .iot-warning-hero h1 em::after { content: ""; position: absolute; z-index: -1; right: -.08em; bottom: .04em; left: -.08em; height: .34em; border-radius: .2em; background: linear-gradient(90deg,rgba(220,38,38,.14),rgba(229,138,138,.3)); }
/*---- 核心亮点分组:小标 + 胶囊 ----*/
.iot-warning-page .iot-warning-hero-points { margin-top: 1.5rem; }
.iot-warning-page .iot-warning-hero-points-caption { display: flex; align-items: center; gap: .55rem; margin-bottom: .7rem; color: var(--iot-warning-green); font-size: .78rem; font-weight: 700; letter-spacing: .14em; }
.iot-warning-page .iot-warning-hero-points-caption i { width: 1.5rem; height: .125rem; background: currentColor; }
.iot-warning-page .iot-warning-hero-trust { gap: .55rem; margin-top: 0; }
.iot-warning-page .iot-warning-hero-trust span { padding: .42rem .85rem; border: 1px solid rgba(220,38,38,.14); border-radius: 62rem; background: rgba(255,255,255,.82); color: #563d3e; font-size: .8rem; font-weight: 600; box-shadow: 0 .35rem .9rem rgba(94,43,43,.05); }
/*---- 按钮箭头微交互 ----*/
.iot-warning-page .iot-warning-btn-primary i, .iot-warning-page .iot-warning-btn-outline i { transition: transform .2s; }
.iot-warning-page .iot-warning-btn-primary:hover i, .iot-warning-page .iot-warning-btn-outline:hover i { transform: translateX(.18rem); }
/*---- 首屏构图入场:预警雷达台上浮入场 ----*/
.iot-warning-page .iot-warning-stage { animation: iot-warning-rise .55s .3s ease both; }
/*---- 动效:入场上浮 / 悬浮呼吸 / 光晕脉动 ----*/
@keyframes iot-warning-rise {
  from { opacity: 0; transform: translateY(.9rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes iot-warning-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-.45rem); }
}
@keyframes iot-warning-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.45); }
  60% { box-shadow: 0 0 0 .28rem rgba(220,38,38,0); }
}
@keyframes iot-warning-glow {
  0%, 100% { opacity: .75; transform: scale(.97); }
  50% { opacity: 1; transform: scale(1.05); }
}
.iot-warning-page .iot-warning-hero-copy > * { animation: iot-warning-rise .6s ease both; }
.iot-warning-page .iot-warning-hero-copy > *:nth-child(1) { animation-delay: .05s; }
.iot-warning-page .iot-warning-hero-copy > *:nth-child(2) { animation-delay: .15s; }
.iot-warning-page .iot-warning-hero-copy > *:nth-child(3) { animation-delay: .25s; }
.iot-warning-page .iot-warning-hero-copy > *:nth-child(4) { animation-delay: .35s; }
.iot-warning-page .iot-warning-hero-copy > *:nth-child(5) { animation-delay: .45s; }
.iot-warning-page .builder-float-card { animation: iot-warning-rise .6s ease both, iot-warning-bob 5.6s ease-in-out infinite; }
.iot-warning-page .float-card-live { animation-delay: 1.05s, 2s; }
.iot-warning-page .float-card-speed { animation-delay: 1.2s, 2.3s; }
.iot-warning-page .iot-warning-hero-glow { animation: iot-warning-glow 7s ease-in-out infinite; }
/*---- 响应式收口:窗框/手机尺寸由公共层收口,这里只修剪工作台内部 ----*/
@media (max-width:991.98px) {
  .iot-warning-page .iot-warning-hero-art { height: 30rem; }
  .iot-warning-page .iot-warning-hero-points-caption,
  .iot-warning-page .iot-warning-hero-trust { justify-content: center; }
}
@media (max-width:767.98px) {
  .iot-warning-page .iot-warning-hero-art { height: 26rem; }
  .iot-warning-page .iot-warning-stage-main { grid-template-columns: 1fr; }
  .iot-warning-page .iot-warning-stage-alerts > div:nth-child(3) { display: none; }
}
@media (max-width:479.98px) {
  .iot-warning-page .iot-warning-hero-art { height: 23rem; }
  .iot-warning-page .iot-warning-stage-head > em,
  .iot-warning-page .iot-warning-stage-alerts { display: none; }
}
@media (prefers-reduced-motion:reduce) {
  .iot-warning-page .iot-warning-hero-copy > *,
  .iot-warning-page .iot-warning-stage,
  .iot-warning-page .iot-warning-stage-online i,
  .iot-warning-page .iot-warning-stage-wave-line,
  .iot-warning-page .iot-warning-stage-wave-dot,
  .iot-warning-page .builder-float-card,
  .iot-warning-page .iot-warning-hero-glow { animation: none; }
}
/*============ 十九、服务流程/特色功能图形重绘(20261006) ============*/
/*特色功能图形 20260927 全量唯一化重绘:四槽构图=multi-sensor-waveform / fault-pattern-match / four-level-alarm-tower / rul-forecast-curve,详见 .scratch/feature-visuals/registry.json。*/
/*特色功能图形 20260927 全量唯一化重绘:四槽构图=multi-sensor-waveform / fault-pattern-match / four-level-alarm-tower / rul-forecast-curve,详见 .scratch/feature-visuals/registry.json。*/
/*特色功能图形 20260927 全量唯一化重绘:四槽构图=multi-sensor-waveform / fault-pattern-match / four-level-alarm-tower / rul-forecast-curve,详见 .scratch/feature-visuals/registry.json。*/
/*服务流程:编辑器画布改「交付管道」,四节点与右侧四步流程一一对应,激活段虚线流动;
   特色功能:三台手机样机内容换血为 知识解析台/可信答案卡/转人工会话,均围绕数据中台主题。*/
/*---- 服务流程:交付管道 ----*/
.iot-warning-page .iot-warning-pipe { display: flex; align-items: flex-start; gap: 1.1rem; }
.iot-warning-page .iot-warning-pipe-node { position: relative; display: flex; width: 4.4rem; flex-direction: column; align-items: center; gap: .3rem; padding: .7rem .25rem .65rem; border: 1px solid #eee1e1; border-radius: .7rem; background: #fff; text-align: center; box-shadow: 0 .5rem 1.2rem rgba(94,43,43,.07); }
.iot-warning-page .iot-warning-pipe-node > i { display: grid; width: 1.85rem; height: 1.85rem; place-items: center; border-radius: .5rem; background: #f9ecea; color: var(--iot-warning-green); font-size: .88rem; }
.iot-warning-page .iot-warning-pipe-node > b { color: #321b1b; font-size: .54rem; }
.iot-warning-page .iot-warning-pipe-node > span { padding: .08rem .38rem; border-radius: 2rem; background: #f8f0f0; color: #988383; font-size: .42rem; }
/*节点间虚线连接;已交付段主题色,激活段流动*/
.iot-warning-page .iot-warning-pipe-node:not(:last-child)::after { content: ""; position: absolute; top: 1.62rem; left: calc(100% + .08rem); width: .94rem; height: 2px; background: repeating-linear-gradient(90deg,#e4c4c4 0 .28rem,transparent .28rem .5rem); }
.iot-warning-page .iot-warning-pipe-node.is-done > i { background: var(--iot-warning-green); color: #fff; }
.iot-warning-page .iot-warning-pipe-node.is-done > span { background: #f9ecea; color: #c44443; }
.iot-warning-page .iot-warning-pipe-node.is-done:not(:last-child)::after { background: repeating-linear-gradient(90deg,var(--iot-warning-green) 0 .28rem,transparent .28rem .5rem); }
.iot-warning-page .iot-warning-pipe-node.is-active { border-color: #e58a8a; box-shadow: 0 .8rem 1.6rem rgba(220,38,38,.18); }
.iot-warning-page .iot-warning-pipe-node.is-active > span { background: var(--iot-warning-green); color: #fff; }
.iot-warning-page .iot-warning-pipe-node.is-active::after { background: linear-gradient(90deg,var(--iot-warning-green) 50%,transparent 50%); background-size: .5rem 2px; animation: iot-warning-dash .8s linear infinite; }
@keyframes iot-warning-dash {
  to { background-position: .5rem 0; }
}
.iot-warning-page .iot-warning-pipe-log { display: flex; align-items: center; gap: .4rem; margin-top: 1.5rem; padding: .5rem .8rem; border: 1px solid #eee1e1; border-radius: .55rem; background: #fff; color: #73595a; font-size: .54rem; box-shadow: 0 .4rem 1rem rgba(94,43,43,.06); }
.iot-warning-page .iot-warning-pipe-log i { color: var(--iot-warning-green); font-size: .66rem; }
/*画布改上下居中堆叠;光标移到激活节点附近*/
.iot-warning-page .iot-warning-workflow-canvas { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.iot-warning-page .iot-warning-workflow-cursor { right: 30%; bottom: 26%; }
/*---- 特色功能一:多传感在线监测 · multi-sensor-waveform · browser 框 ----*/
/*构图:振动/温度/电流融合波形+25.6kHz 采样*/
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-browser { position: relative; z-index: 2; width: 24.5rem; border: 1px solid #ead5d5; border-radius: 1rem; background: #fff; box-shadow: 0 1.8rem 3.4rem rgba(94, 43, 43, .16); overflow: hidden; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-bar { display: flex; align-items: center; gap: .3rem; padding: .5rem .75rem; border-bottom: 1px solid #f5e9e9; background: #fbf4f4; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-bar i { width: .45rem; height: .45rem; border-radius: 50%; background: #e8d3d3; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-bar i:first-child { background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-bar span { margin-left: .4rem; padding: .12rem .6rem; border-radius: 1rem; background: #fff; color: #a98f8f; font-size: .52rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-body { display: flex; flex-direction: column; gap: .7rem; padding: .9rem .85rem 1rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-head { display: flex; align-items: center; justify-content: space-between; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-head b { display: flex; align-items: center; gap: .35rem; color: #251616; font-size: .6rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-head b i { color: var(--iot-warning-green); font-size: .72rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-head span { display: flex; align-items: center; gap: .3rem; color: #785d5e; font-size: .48rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-head span u { width: .4rem; height: .4rem; border-radius: 50%; background: var(--iot-warning-green); animation: iot-warning-fv-wave-live 1.6s ease-in-out infinite; }
@keyframes iot-warning-fv-wave-live {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .35; transform: scale(.72); }
}
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend { display: flex; align-items: center; gap: .65rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend span { display: flex; align-items: center; gap: .28rem; color: #785d5e; font-size: .48rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend span i { width: .55rem; height: .18rem; border-radius: .2rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend .is-vib { background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend .is-temp { background: #e58a8a; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend .is-curr { background: #c9b3b3; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-legend em { margin-left: auto; color: #a98f8f; font-size: .44rem; font-style: normal; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-stage { position: relative; padding: .55rem .55rem .45rem; border: 1px solid #f2e4e4; border-radius: .7rem; background: linear-gradient(160deg, #fdf7f7, #faf1f1); }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-stage svg { display: block; width: 100%; height: 6.4rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-th { stroke: #c44443; stroke-width: 1.5; stroke-dasharray: 5 4; opacity: .55; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-trace-temp,
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-trace-curr,
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-trace-vib { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-trace-temp { stroke: #e58a8a; stroke-width: 2; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-trace-curr { stroke: #c9b3b3; stroke-width: 2; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-trace-vib { stroke: var(--iot-warning-green); stroke-width: 2.5; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-peak { fill: var(--iot-warning-green); stroke: #fff; stroke-width: 1.5; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-peak-tag { position: absolute; top: .6rem; right: .6rem; display: flex; flex-direction: column; padding: .32rem .5rem; border: 1px solid #f0dcdc; border-radius: .5rem; background: #fff; box-shadow: 0 .5rem 1.1rem rgba(94, 43, 43, .12); }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-peak-tag b { color: var(--iot-warning-green); font-size: .5rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-peak-tag span { color: #a98f8f; font-size: .4rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-metrics span { padding: .42rem .3rem .4rem; border: 1px solid #f2e4e4; border-radius: .55rem; background: #fff; text-align: center; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-metrics small { display: block; margin-bottom: .18rem; color: #a98f8f; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-metrics b { color: #251616; font-size: .66rem; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-metrics b em { margin-left: .1rem; color: #785d5e; font-size: .44rem; font-style: normal; font-weight: 400; }
.iot-warning-page .float-card-rate { animation-delay: .9s, 1.7s; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-card-a { top: 9%; right: 6%; bottom: auto; left: auto; }
.iot-warning-page .iot-warning-fv-multi-sensor-waveform-card-b { bottom: 8%; left: 5%; top: auto; right: auto; }
@media (max-width:479.98px) {
  .iot-warning-page .iot-warning-fv-multi-sensor-waveform-browser { width: 100%; max-width: 20rem; }
}
/*---- 特色功能二:AI 故障诊断 · fault-pattern-match · plate 框 ----*/
/*构图:120+故障模式库匹配+根因置信度标尺*/
.iot-warning-page .iot-warning-fv-fault-pattern-match-plate { position: relative; z-index: 2; width: 25rem; padding: 1.1rem 1.05rem 1.2rem; border: 1px solid #ead5d5; border-radius: 1.25rem; background: rgba(255, 255, 255, .96); box-shadow: 0 1.8rem 3.4rem rgba(94, 43, 43, .16); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .95rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-head b { color: #251616; font-size: .78rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-head span { color: #a98f8f; font-size: .52rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-query { display: flex; align-items: center; gap: .5rem; margin-bottom: .85rem; padding: .6rem .65rem; border-radius: .7rem; background: linear-gradient(135deg, #5a2828, var(--iot-warning-green)); color: #fff; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-query > i { font-size: 1.05rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-query span { display: flex; flex: 1; flex-direction: column; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-query span b { font-size: .58rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-query span small { opacity: .85; font-size: .44rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-query em { padding: .14rem .5rem; border-radius: 1rem; background: rgba(255, 255, 255, .22); font-size: .44rem; font-style: normal; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns { display: grid; gap: .45rem; margin: 0 0 .9rem; padding: 0; list-style: none; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li { display: flex; align-items: center; gap: .5rem; padding: .5rem .55rem; border: 1px solid #f2e4e4; border-radius: .6rem; background: #fff; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li > i { display: grid; width: 1.6rem; height: 1.6rem; flex: 0 0 auto; place-items: center; border-radius: .45rem; background: #f9ecea; color: var(--iot-warning-green); font-size: .8rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li span { display: flex; width: 6.4rem; flex: 0 0 auto; flex-direction: column; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li span b { color: #251616; font-size: .54rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li span small { color: #a98f8f; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li u { flex: 1; height: .28rem; border-radius: .2rem; background: #f5e9e9; overflow: hidden; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li u i { display: block; height: 100%; border-radius: .2rem; background: #e0b7b7; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li > b { width: 2rem; color: #785d5e; font-size: .52rem; text-align: right; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li.is-hit { border-color: var(--iot-warning-green); box-shadow: 0 .7rem 1.4rem rgba(220, 38, 38, .16); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li.is-hit > i { background: var(--iot-warning-green); color: #fff; animation: iot-warning-fv-match-pulse 1.8s ease-in-out infinite; }
@keyframes iot-warning-fv-match-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, .35); }
  50% { box-shadow: 0 0 0 .4rem rgba(220, 38, 38, 0); }
}
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li.is-hit u i { background: linear-gradient(90deg, #e58a8a, var(--iot-warning-green)); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li.is-hit > b { color: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler { margin-bottom: .8rem; padding: .65rem .7rem .6rem; border: 1px solid #f2e4e4; border-radius: .7rem; background: #fdf7f7; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .45rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-head span { color: #785d5e; font-size: .5rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-head b { color: var(--iot-warning-green); font-size: .68rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-track { position: relative; height: .55rem; border-radius: .3rem; background: repeating-linear-gradient(90deg, #f0dcdc 0 1px, #f8efef 1px .55rem); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-track i { position: absolute; top: 0; bottom: 0; left: 0; border-radius: .3rem; background: linear-gradient(90deg, #e58a8a, var(--iot-warning-green)); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-track em { position: absolute; top: 50%; width: .95rem; height: .95rem; border: .18rem solid var(--iot-warning-green); border-radius: 50%; background: #fff; box-shadow: 0 .2rem .5rem rgba(94, 43, 43, .2); transform: translate(-50%, -50%); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-scale { display: flex; justify-content: space-between; margin-top: .45rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-ruler-scale span { color: #a98f8f; font-size: .4rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-foot { display: flex; align-items: center; gap: .35rem; color: #a98f8f; font-size: .46rem; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-foot i { color: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-fault-pattern-match-card-a { top: 10%; right: 5%; bottom: auto; left: auto; }
.iot-warning-page .iot-warning-fv-fault-pattern-match-card-b { bottom: 9%; left: 6%; top: auto; right: auto; }
@media (max-width:479.98px) {
  .iot-warning-page .iot-warning-fv-fault-pattern-match-plate { width: 100%; max-width: 21rem; }
  .iot-warning-page .iot-warning-fv-fault-pattern-match-patterns li span { width: 5.2rem; }
}
/*---- 特色功能三:分级预警推送 · four-level-alarm-tower · phone 框 ----*/
/*构图:四级预警灯塔+3 秒触达+超时升级计时*/
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone { position: relative; z-index: 2; width: 16.5rem; height: 29rem; padding: 1.15rem; border: .18rem solid #251616; border-radius: 2.25rem; background: #fff; box-shadow: 0 2.25rem 4rem rgba(94, 43, 43, .18); }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone:before { content: ""; position: absolute; top: .55rem; left: 50%; width: 4.5rem; height: .38rem; border-radius: 1rem; background: #251616; transform: translateX(-50%); }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-bar { display: flex; align-items: center; justify-content: space-between; height: 2.5rem; margin-top: .3rem; color: #251616; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-bar > i { width: 1rem; height: .22rem; background: #251616; box-shadow: 0 .35rem #251616; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-bar > b { font-size: .62rem; letter-spacing: .14em; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-bar > span { width: 1rem; height: 1rem; border: .1rem solid #251616; border-radius: 50%; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-nav { position: absolute; right: 1.15rem; bottom: 1.15rem; left: 1.15rem; display: flex; justify-content: space-around; padding: .75rem 0; border-top: 1px solid #f0e2e2; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-nav i { width: .72rem; height: .72rem; border-radius: .18rem; background: #e0cfcf; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone .iot-warning-feature-phone-nav i:first-child { background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower { display: flex; height: calc(100% - 4.4rem); flex-direction: column; gap: .5rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-hero { display: flex; align-items: center; gap: .5rem; padding: .6rem .65rem; border-radius: .75rem; background: linear-gradient(135deg, var(--iot-warning-green), #e58a8a); color: #fff; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-hero > i { font-size: 1.05rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-hero span { display: flex; flex: 1; flex-direction: column; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-hero span b { font-size: .6rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-hero span small { opacity: .85; font-size: .44rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-hero em { padding: .14rem .45rem; border-radius: 1rem; background: rgba(255, 255, 255, .22); font-size: .44rem; font-style: normal; font-weight: 700; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower { display: grid; gap: .38rem; margin: 0; padding: 0; list-style: none; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li { display: flex; align-items: center; gap: .5rem; padding: .38rem .5rem; border: 1px solid #f2e4e4; border-radius: .6rem; background: #fff; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li u { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 auto; place-items: center; border-radius: .5rem; color: #fff; font-size: .5rem; font-weight: 700; text-decoration: none; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li:nth-child(1) u { background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li:nth-child(2) u { background: #df6a6a; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li:nth-child(3) u { background: #e58a8a; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li:nth-child(4) u { background: #f0b3b3; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li span { display: flex; flex: 1; flex-direction: column; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li span b { color: #251616; font-size: .54rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li span small { color: #a98f8f; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li em { color: #785d5e; font-size: .5rem; font-style: normal; font-weight: 700; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li.is-active { border-color: var(--iot-warning-green); box-shadow: 0 .6rem 1.2rem rgba(220, 38, 38, .18); }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-tower li.is-active u { animation: iot-warning-fv-tower-pulse 1.8s ease-in-out infinite; }
@keyframes iot-warning-fv-tower-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, .35); }
  50% { box-shadow: 0 0 0 .4rem rgba(220, 38, 38, 0); }
}
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-alert { display: grid; gap: .42rem; padding: .5rem .55rem; border: 1px solid #f0dcdc; border-radius: .7rem; background: #fdf7f7; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-alert-head { display: flex; align-items: center; gap: .45rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-alert-head > i { color: var(--iot-warning-green); font-size: .9rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-alert-head span { display: flex; flex-direction: column; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-alert-head span b { color: #251616; font-size: .54rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-alert-head span small { color: #a98f8f; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-timer { display: flex; align-items: center; gap: .4rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-timer span { color: #785d5e; font-size: .44rem; white-space: nowrap; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-timer em { flex: 1; height: .26rem; border-radius: .2rem; background: #f5e4e4; overflow: hidden; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-timer em u { display: block; height: 100%; border-radius: .2rem; background: linear-gradient(90deg, #e58a8a, var(--iot-warning-green)); }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-timer b { color: var(--iot-warning-green); font-size: .5rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-route { display: flex; align-items: center; gap: .35rem; margin-top: auto; color: #a98f8f; font-size: .44rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-route i { color: var(--iot-warning-green); font-size: .6rem; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-card-a { top: 12%; right: 4%; bottom: auto; left: auto; }
.iot-warning-page .iot-warning-fv-four-level-alarm-tower-card-b { bottom: 10%; left: 4%; top: auto; right: auto; }
@media (max-width:767.98px) {
  .iot-warning-page .iot-warning-fv-four-level-alarm-tower-phone { transform: scale(.84); }
}
/*---- 特色功能四:寿命预测维护 · rul-forecast-curve · browser 框 ----*/
/*构图:剩余寿命预测曲线+按需维护日历*/
.iot-warning-page .iot-warning-fv-rul-forecast-curve-browser { position: relative; z-index: 2; width: 24.5rem; border: 1px solid #ead5d5; border-radius: 1rem; background: #fff; box-shadow: 0 1.8rem 3.4rem rgba(94, 43, 43, .16); overflow: hidden; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-bar { display: flex; align-items: center; gap: .3rem; padding: .5rem .75rem; border-bottom: 1px solid #f5e9e9; background: #fbf4f4; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-bar i { width: .45rem; height: .45rem; border-radius: 50%; background: #e8d3d3; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-bar i:first-child { background: var(--iot-warning-green); }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-bar span { margin-left: .4rem; padding: .12rem .6rem; border-radius: 1rem; background: #fff; color: #a98f8f; font-size: .52rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-body { display: flex; flex-direction: column; gap: .7rem; padding: .9rem .85rem 1rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-head { display: flex; align-items: center; justify-content: space-between; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-head b { display: flex; align-items: center; gap: .35rem; color: #251616; font-size: .6rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-head b i { color: var(--iot-warning-green); font-size: .72rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-head span { color: #a98f8f; font-size: .46rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-chart { position: relative; padding: .55rem .55rem .45rem; border: 1px solid #f2e4e4; border-radius: .7rem; background: linear-gradient(160deg, #fdf7f7, #faf1f1); }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-chart svg { display: block; width: 100%; height: 7rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-window { fill: rgba(220, 38, 38, .08); }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-grid { stroke: #f0dcdc; stroke-width: 1; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-limit { stroke: #c44443; stroke-width: 1.5; stroke-dasharray: 5 4; opacity: .55; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-past { fill: none; stroke: var(--iot-warning-green); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-future { fill: none; stroke: #e58a8a; stroke-width: 2.5; stroke-dasharray: 6 5; stroke-linecap: round; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-halo { fill: rgba(220, 38, 38, .25); animation: iot-warning-fv-rul-halo 1.8s ease-in-out infinite; }
@keyframes iot-warning-fv-rul-halo {
  0%, 100% { opacity: .9; }
  50% { opacity: .25; }
}
.iot-warning-page .iot-warning-fv-rul-forecast-curve-now { fill: var(--iot-warning-green); stroke: #fff; stroke-width: 1.5; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-now-tag { position: absolute; top: .7rem; left: 33%; display: flex; flex-direction: column; padding: .32rem .5rem; border: 1px solid #f0dcdc; border-radius: .5rem; background: #fff; box-shadow: 0 .5rem 1.1rem rgba(94, 43, 43, .12); }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-now-tag b { color: var(--iot-warning-green); font-size: .5rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-now-tag span { color: #a98f8f; font-size: .4rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-window-tag { position: absolute; top: .55rem; right: .8rem; color: #c44443; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-limit-tag { position: absolute; right: .8rem; bottom: .9rem; color: #c44443; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-calendar { display: flex; align-items: center; gap: .55rem; padding: .5rem .6rem; border: 1px solid #f2e4e4; border-radius: .7rem; background: #fff; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-calendar > b { color: #251616; font-size: .54rem; white-space: nowrap; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-days { display: grid; flex: 1; grid-template-columns: repeat(5, 1fr); gap: .35rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-days span { display: flex; flex-direction: column; align-items: center; padding: .3rem .1rem .28rem; border: 1px solid #f5e9e9; border-radius: .45rem; background: #fdf7f7; color: #785d5e; font-size: .46rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-days span em { color: #a98f8f; font-size: .36rem; font-style: normal; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-days .is-pick { border-color: var(--iot-warning-green); background: var(--iot-warning-green); color: #fff; box-shadow: 0 .4rem .9rem rgba(220, 38, 38, .25); }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-days .is-pick em { color: rgba(255, 255, 255, .85); }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-metrics span { padding: .42rem .3rem .4rem; border: 1px solid #f2e4e4; border-radius: .55rem; background: #fff; text-align: center; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-metrics b { display: block; margin-bottom: .15rem; color: var(--iot-warning-green); font-size: .66rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-metrics small { color: #a98f8f; font-size: .42rem; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-card-a { top: 9%; right: 6%; bottom: auto; left: auto; }
.iot-warning-page .iot-warning-fv-rul-forecast-curve-card-b { bottom: 8%; left: 5%; top: auto; right: auto; }
@media (max-width:479.98px) {
  .iot-warning-page .iot-warning-fv-rul-forecast-curve-browser { width: 100%; max-width: 20rem; }
}
/*---- 响应式与无障碍 ----*/
@media (max-width:479.98px) {
  .iot-warning-page .iot-warning-pipe { gap: .45rem; }
  .iot-warning-page .iot-warning-pipe-node { width: 3.35rem; padding: .55rem .15rem .5rem; }
  .iot-warning-page .iot-warning-pipe-node > b { font-size: .5rem; }
  .iot-warning-page .iot-warning-pipe-node > span { font-size: .38rem; }
  .iot-warning-page .iot-warning-pipe-node:not(:last-child)::after { top: 1.42rem; width: .35rem; }
  .iot-warning-page .iot-warning-workflow-components { transform: scale(.92); transform-origin: left top; }
}
@media (prefers-reduced-motion:reduce) {
  .iot-warning-page .iot-warning-pipe-node.is-active::after,
  .iot-warning-page .iot-warning-doc-bar u,
  .iot-warning-page .iot-warning-doc-list li.is-parsing > i:last-child { animation: none; }
}
/*==========================================================================
   ⑥ 免费方案与报价(三档方案卡;推荐档 is-featured 高亮,主题色走 var(--iot-warning-green))
   ==========================================================================*/
.iot-warning-page .iot-warning-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: stretch; max-width: 72rem; margin: 0 auto; }
.iot-warning-page .iot-warning-pricing-card { position: relative; display: flex; flex-direction: column; padding: 2.25rem 2rem 2rem; background: #fff; border: 1px solid var(--iot-warning-line); border-radius: 1.25rem; box-shadow: 0 .5rem 2rem rgba(37,22,22,.05); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.iot-warning-page .iot-warning-pricing-card:hover { transform: translateY(-.375rem); border-color: color-mix(in srgb, var(--iot-warning-green) 35%, #fff); box-shadow: 0 1.25rem 3rem color-mix(in srgb, var(--iot-warning-green) 14%, transparent); }
.iot-warning-page .iot-warning-pricing-card.is-featured { border: 1px solid var(--iot-warning-green); box-shadow: 0 1rem 2.75rem color-mix(in srgb, var(--iot-warning-green) 18%, transparent); transform: scale(1.03); }
.iot-warning-page .iot-warning-pricing-card.is-featured:hover { transform: scale(1.03) translateY(-.375rem); }
.iot-warning-page .iot-warning-pricing-ribbon { position: absolute; top: -0.875rem; left: 50%; transform: translateX(-50%); padding: .25rem 1rem; font-size: .8125rem; font-style: normal; font-weight: 600; line-height: 1.25rem; color: #fff; background: linear-gradient(135deg, var(--iot-warning-green), color-mix(in srgb, var(--iot-warning-green) 70%, #000 12%)); border-radius: 999px; box-shadow: 0 .375rem 1rem color-mix(in srgb, var(--iot-warning-green) 35%, transparent); }
.iot-warning-page .iot-warning-pricing-card > h3 { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 700; color: var(--iot-warning-dark); text-align: center; }
.iot-warning-page .iot-warning-pricing-price { display: flex; align-items: baseline; justify-content: center; gap: .5rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px dashed var(--iot-warning-line); }
.iot-warning-page .iot-warning-pricing-price > strong { font-size: 2.25rem; font-weight: 800; line-height: 1; background: linear-gradient(135deg, var(--iot-warning-green), color-mix(in srgb, var(--iot-warning-green) 65%, #000 18%)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.iot-warning-page .iot-warning-pricing-price > span { font-size: .875rem; color: var(--iot-warning-muted); }
.iot-warning-page .iot-warning-pricing-feats { flex: 1; display: flex; flex-direction: column; gap: .75rem; padding: 0; margin: 0 0 1.75rem; list-style: none; }
.iot-warning-page .iot-warning-pricing-feats > li { display: flex; align-items: flex-start; gap: .5rem; font-size: .9375rem; line-height: 1.5; color: var(--iot-warning-dark); }
.iot-warning-page .iot-warning-pricing-feats > li > i { flex: none; margin-top: .125rem; font-size: 1rem; font-weight: 700; color: var(--iot-warning-green); }
.iot-warning-page .iot-warning-pricing-card > .btn { display: flex; align-items: center; justify-content: center; gap: .375rem; width: 100%; }
@media (max-width:991.98px) {
  .iot-warning-page .iot-warning-pricing-grid { grid-template-columns: 1fr; max-width: 30rem; }
  .iot-warning-page .iot-warning-pricing-card.is-featured { transform: none; }
  .iot-warning-page .iot-warning-pricing-card.is-featured:hover { transform: translateY(-.375rem); }
}
/*Mobile heading wrapping: keep section titles and descriptions inside the viewport.*/
@media (max-width: 767.98px) {
  .iot-warning-page .iot-warning-heading h2 { max-width: 100%; font-size: clamp(1.5rem, 7vw, 2rem); line-height: 1.25; letter-spacing: -.02em; white-space: normal; overflow-wrap: anywhere; word-break: normal; }
  .iot-warning-page .iot-warning-heading p { max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: normal; }
}
/*Mobile copy reduction: keep hero and section headings clear without long supporting paragraphs.*/
@media (max-width: 767.98px) {
  .iot-warning-page .iot-warning-heading p,
  .iot-warning-page .iot-warning-hero-copy > p { display: none; }
}
@media (min-width: 992px) {
  .iot-warning-page .iot-warning-hero-copy { transform: translateY(-1.25rem); }
}
