/* Page-scoped composition and responsive refinements. Load after base.css and components.css. */

    .cover{padding:20mm;background:var(--dark)}.cover:before{content:"";position:absolute;inset:0;opacity:.25;background-image:linear-gradient(90deg,transparent 49%,rgba(122,216,210,.22) 49.3%,transparent 49.8%),linear-gradient(0deg,transparent 49%,rgba(122,216,210,.18) 49.3%,transparent 49.8%);background-size:43px 43px;mask-image:linear-gradient(125deg,transparent 8%,#000 42%,#000 85%,transparent 100%)}.cover:after{content:"";position:absolute;right:23mm;bottom:36mm;width:94mm;height:94mm;border:1px solid rgba(122,216,210,.32);border-radius:50%;box-shadow:0 0 0 7mm rgba(122,216,210,.06),0 0 0 16mm rgba(122,216,210,.04),0 0 0 23mm rgba(122,216,210,.025)}.cover>*{position:relative;z-index:1}
    .cover-brand{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0;border-radius:6px;background:transparent}.cover-brand img{display:block;flex:0 0 52px;width:52px;height:52px;object-fit:contain}.cover-brand-copy{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:132px}.cover-brand-copy strong{color:#fff;font-size:17px;line-height:1.1;font-weight:700;letter-spacing:.04em}.cover-brand-copy em{color:var(--cyan);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:8.5px;line-height:1.2;font-style:normal;font-weight:600;letter-spacing:.04em;text-transform:lowercase;white-space:nowrap}.cover-kicker{margin-top:58mm;color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:.2em}.cover h1{max-width:650px;margin:10px 0 15px;color:#fff;font-size:40px;line-height:1.16;letter-spacing:.01em}.cover h1 em{color:var(--cyan);font-style:normal}.cover-subtitle{max-width:560px;margin:0;color:#d1e5e7;font-size:16px;line-height:1.7}.cover-line{width:82px;height:3px;margin:22px 0 14px;background:var(--orange)}.cover-manifesto{max-width:520px;color:#a7c0c8;font-size:12px;line-height:1.75}.cover-meta{position:absolute;left:20mm;right:20mm;bottom:18mm;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;color:#88a7b3;font-size:9px}.cover-meta strong{display:block;color:#d9f6f1;font-size:12px}.cover-note{max-width:390px;text-align:right;line-height:1.6}
    /* A4 composition: interior pages use a visual anchor and an evidence band. */
    .page:not(.cover):not(#back-cover) .feature{min-height:126px}
    .page:not(.cover):not(#back-cover) .metric{min-height:86px}
    .page:not(.cover):not(#back-cover) .hero-band{min-height:142px}
    #catalog .panel{min-height:176px}#catalog .hero-band{min-height:160px}
    #architecture .layer{min-height:83px}#architecture .split-visual>.panel{min-height:275px}
    #capability .feature{min-height:132px}#capability .object-chain .node{min-height:52px;display:grid;place-items:center}
    #mes .feature{min-height:132px}#mes .hero-band{min-height:152px}
    #lifecycle .timeline{min-height:142px}#lifecycle .panel{min-height:205px}#lifecycle .metric{min-height:94px}
    #cockpit .app-shell,#schedule .app-shell,#bom .app-shell,#cost .app-shell,#evidence .app-shell{min-height:485px}
    #cockpit .app-main,#schedule .app-main,#bom .app-main,#cost .app-main,#evidence .app-main{padding:16px 18px}
    #cockpit .ui-panel,#schedule .ui-panel,#bom .ui-panel,#cost .ui-panel,#evidence .ui-panel{padding:11px}
    #cockpit .kpi,#schedule .kpi,#bom .kpi,#cost .kpi,#evidence .kpi{min-height:58px}
    #cockpit .bars,#cost .bars{height:150px}
    #schedule .schedule-grid>div{min-height:39px}#schedule .schedule-bar{height:25px;line-height:25px}
    #kitting .split-visual>.panel{min-height:365px}#kitting .pda{max-width:275px}
    #cost .app-shell{min-height:510px}#cost .cost-meter{margin:14px 0}
    #quality .split-visual>.panel{min-height:350px}#quality .rule{min-height:88px}
    #equipment .grid-2>.panel{min-height:350px}#equipment .flow-row .flow-node{min-height:68px}
    #cable .svg-wrap{min-height:250px}#cable .feature{min-height:145px}
    #cable-prototype .split-visual>.panel{min-height:360px}#cable-prototype .feature{min-height:135px}
    #cable-flow .lane-step{min-height:46px;display:grid;place-items:center}#cable-flow .rule{min-height:86px}
    #cable-trace .svg-wrap{min-height:300px}#cable-trace .panel{min-height:205px}
    #outsourcing .flow-node{min-height:72px}#outsourcing .feature{min-height:135px}
    #industry .matrix>div{min-height:48px}#industry .panel{min-height:165px}
    #oil-drum .split-visual{min-height:365px}#oil-drum .pain{min-height:82px}
    #factory .offer{min-height:170px}#factory .svg-wrap{min-height:220px}#factory .feature{min-height:140px}
    #evidence .app-shell{min-height:510px}#evidence .feature{min-height:138px}
    #ai-upgrade .ai-card{min-height:142px}#ai-upgrade .timeline{min-height:145px}#ai-upgrade .panel{min-height:190px}
    #ai-prototype .panel{min-height:290px}#ai-prototype .grid-2+.note{min-height:70px}

    #config .feature{min-height:132px}#config .flow-node{min-height:68px}#config .table-wrap{min-height:210px}
    #delivery .metric{min-height:98px}#delivery .timeline{min-height:142px}#delivery .panel,#delivery .quote-band{min-height:180px}
    #catalog .product-rail{min-height:145px}#catalog .product{min-height:145px}#catalog .hero-band{min-height:185px}
    #capability .feature{min-height:150px}#capability .table-wrap{min-height:210px}
    #schedule .grid-3 .metric{min-height:116px}#bom .grid-2>.note{min-height:76px}
    #factory .grid-3 .feature{min-height:160px}#ai-upgrade .grid-2>.panel{min-height:225px}
    #delivery .grid-2>.panel{min-height:220px}#delivery .quote-band{min-height:220px}
    /* Final A4 balance: fill the lower composition with evidence, not decorative whitespace. */
    .page:not(.cover):not(#back-cover) .feature{min-height:148px}
    .page:not(.cover):not(#back-cover) .metric{min-height:100px}
    .page:not(.cover):not(#back-cover) .rule{min-height:96px}
    .page:not(.cover):not(#back-cover) .pain{min-height:84px}
    #catalog .product-rail{min-height:168px}#catalog .product{min-height:168px}#catalog .panel{min-height:208px}#catalog .hero-band{min-height:228px}
    #architecture .layer{min-height:94px}#architecture .split-visual>.panel{min-height:310px}
    #lifecycle .timeline{min-height:165px}#lifecycle .panel{min-height:235px}
    #cockpit .app-shell{min-height:610px}#schedule .app-shell{min-height:610px}#bom .app-shell{min-height:585px}#cost .app-shell{min-height:630px}#evidence .app-shell{min-height:635px}
    #cockpit .feature,#schedule .metric,#bom .grid-2>.note{min-height:145px}
    #kitting .split-visual>.panel{min-height:475px}#kitting .rule{min-height:112px}
    #quality .split-visual>.panel{min-height:445px}#quality .rule{min-height:104px}
    #equipment .grid-2>.panel{min-height:425px}#equipment .flow-row .flow-node{min-height:82px}
    #cable .svg-wrap{min-height:315px}#cable .feature{min-height:164px}
    #cable-prototype .split-visual>.panel{min-height:455px}#cable-prototype .feature{min-height:158px}
    #cable-flow .lane-step{min-height:58px}#cable-flow .rule{min-height:104px}
    #cable-trace .svg-wrap{min-height:380px}#cable-trace .panel{min-height:250px}
    #outsourcing .flow-node{min-height:88px}#outsourcing .feature{min-height:158px}
    #industry .matrix>div{min-height:56px}#industry .panel{min-height:205px}
    #oil-drum .split-visual{min-height:365px}
    #factory .offer{min-height:205px}#factory .svg-wrap{min-height:285px}#factory .feature{min-height:166px}
    #evidence .feature{min-height:154px}
    #ai-upgrade .ai-card{min-height:168px}#ai-upgrade .timeline{min-height:170px}#ai-upgrade .panel{min-height:220px}
    #ai-prototype .panel{min-height:350px}#ai-prototype .grid-2>.panel{min-height:245px}

    #config .feature{min-height:150px}#config .flow-node{min-height:80px}#config .table-wrap{min-height:240px}
    #delivery .metric{min-height:110px}#delivery .timeline{min-height:160px}#delivery .panel,#delivery .quote-band{min-height:240px}
    .cover .page-footer{position:absolute;left:17mm;right:17mm;bottom:8mm;z-index:2}
    .page:not(.cover):not(#back-cover)::after{position:absolute;left:17mm;right:17mm;bottom:21mm;min-height:74px;display:flex;align-items:center;padding:11px 14px;border-left:3px solid var(--teal);background:#e7f3f1;color:var(--ink-2);font-size:10px;line-height:1.6;white-space:pre-line}
      #catalog::after{content:"交付对象  产品底座 + 行业插件 + 客户配置\A关键数据  对象模型、流程状态、权限门禁、接口映射\A验收证据  原型可操作 · 流程可走通 · 数据可追溯 · 能力可复制"}
      #architecture::after{content:"产品资产  通用核心 / 行业插件 / 配置包 / AI 场景\A升级方式  MES 执行建设 + 智能工厂申报 + AI+ 场景升级\A验收证据  版本可冻结 · 事件可审计 · 结果可复盘 · 变更可回滚"}
      #mes::after{content:"交付对象  订单、工单、BOM、工艺、物料、质量、设备、成本\A关键数据  业务状态、岗位动作、异常责任、接口回执\A验收证据  样本订单闭环 + 现场原型 + 追溯链 + 成本台账"}
      #lifecycle::after{content:"阶段门槛  诊断有画像 · 蓝图有边界 · 原型有确认 · 试跑有样本 · 上线有复盘\A交付沉淀  字段字典、权限矩阵、配置包、培训记录、问题清单\A产品价值  每个项目都为下一次复制留下可用资产"}
      #cockpit::after{content:"执行闭环  计划达成 · 物料齐套 · 工序节拍 · 异常责任 · 处理时限\A管理视角  订单行不重复归属，工单状态与质量、库存、设备状态分离\A验收证据  驾驶舱指标可下钻到工单、执行段、责任人和处置记录"}
      #schedule::after{content:"排程输出  版本、约束、资源负荷、交期影响、锁定工单\A计划员动作  模拟、局部重排、人工干预、发布、回滚\A验收证据  建议有原因，发布有版本，扰动有影响范围，结果可复盘"}
      #bom::after{content:"工程门禁  BOM / 工艺 / 设备能力 / 检验方案 / 费率版本同步冻结\A变更闭环  申请 → 影响分析 → 模拟 → 评审 → 生效 → 追溯\A验收证据  历史工单快照不变，新旧版本边界清晰，现场不得错用"}
      #kitting::after{content:"物料事实  预留 ≠ 调拨 ≠ 上料 ≠ 实际耗用 ≠ 退料\A现场动作  扫码批次、载具、工单、工序、设备，异常进入待处理\A验收证据  数量守恒、来源可追、成本起点明确、断网可补录"}
      #cost::after{content:"成本台账  材料、人工、机器 / 能源、制造费用、外协、批准差异\A下钻路径  工单 → 工序 → 执行段 → 批次 / 设备 / 人员 → ERP 回执\A验收证据  投入有来源，WIP 可解释，差异可审批，正式价值由 ERP 过账"}
      #quality::after{content:"质量状态  待检、合格、冻结、返工、降级、改制、报废分别记录\A追溯路径  成品盘卷 → 工单 → 工艺版本 → 半成品 → 材料 / 设备 / 人员\A验收证据  原始值保留，处置有责任，库存门禁与质量判定不混同"}
      #equipment::after{content:"资产闭环  设备台账、能力版本、点检保养、维修备件、停机事件\A库存闭环  盘点快照、初盘、复盘、差异审批、调整和 ERP 回执\A验收证据  无数采可受控录入，有数采可平滑接入，资产和库存均可审计"}
      #cable::after{content:"线缆专用对象  铜丝批次、粒料批次、载具、半成品箱、成品盘卷、外协工单\A专用计量  kg / km / 米 / 盘 / 卷，皮重、换算、精度和原始读数可追溯\A验收证据  连续工序、批次承接、盘卷实物、辐照外协和成本对账形成一条链"}
      #cable-prototype::after{content:"工位动作  扫码上料、换料、计米、称重、报工、成盘、入库、异常上报\A终端组合  工控屏 + PDA + 电子秤 + 计米器 + 条码打印 + 可选数采\A验收证据  当前工序只显示当前动作，原始读数和操作责任可回放"}
      #cable-flow::after{content:"门禁原则  领料不等于上料，完工不等于入库，入库不等于可用\A状态治理  质量、库存、工单、设备和接口状态独立变化，引用关系不丢失\A验收证据  从原料到成品交付，每个节点都有业务对象、事件和责任"}
      #cable-trace::after{content:"知识对象  订单、产品、BOM、工艺、工单、批次、设备、人员、质量、成本\A关系语义  引用、绑定、来源、消耗、转化、承接、归属、接口映射\A专业能力  让线缆现场术语进入产品模型，既能执行，也能解释和复用"}
      #outsourcing::after{content:"外协闭环  供料、签收、收回、检验、材料核销、加工费、ERP 对账\A差异治理  数量、质量、费用和回执分别处理，不用收货动作替代放行\A验收证据  外协工单有来源、有批次、有实物、有成本、有接口结果"}
      #industry::after{content:"插件方法  共享订单、工单、质量、设备、成本和追溯底座\A行业表达  通过专业对象、工艺规则、计量方式、质量门禁做深业务\A复制方式  插件可复用，差异进配置，升级不复制源码分支"}
      #pv::after{content:"批次价值  材料批次、配方版本、设备参数、EL / 外观 / 功率检测\A业务门禁  合批拆分有来源，放行 / 返工 / 降级 / 隔离有责任和范围\A验收证据  组件履历可下钻到电池片、配方、设备和检测原始结果"}
      #harness::after{content:"变体控制  分支、端子、连接器、长度、替代料按配置版本展开\A质量控制  端子批次、模具、压接高度、拉脱力、导通和耐压同单关联\A验收证据  每根线束从裁线到测试放行，都能回到产品变体和工装"}
      #leather::after{content:"材料利用  色号、纹理、缺陷区、排版套数、裁片面积、余料和报废\A决策支持  缺陷地图参与排版，余料进入再利用，利用率按卷料下钻\A验收证据  整卷到裁片的面积守恒，质量状态与订单部件号可追溯"}
      #mold::after{content:"项目对象  里程碑、结构 BOM、图纸版本、零件工单、试模问题\A迭代机制  问题 → 原因 → 措施 → 验证 → 放行版本，形成可复盘链\A验收证据  交期风险定位到零件和工序，现场永远使用生效版本"}
      #machining::after{content:"加工对象  NC 程序、图纸、工艺卡、设备能力、刀具、量具、尺寸特性\A现场门禁  开工校验版本，换刀记录寿命，首件 / 巡检 / 末检关联批次\A验收证据  尺寸原始值、SPC 趋势、量具校准状态可回溯"}
      #smt::after{content:"SMT 对象  板号、元件、料盘、供料器、钢网、贴装程序、炉温曲线\A缺陷闭环  SPI / AOI / ICT 到位号、返修、复测和板号放行\A验收证据  换料不丢批次，切线不丢版本，缺陷可定位到元件与设备"}
      #oil-drum::after{content:"油筒对象  钢卷 / 粒料、桶身、焊缝、卷封、涂层、UN 标识、试验结果\A路线并存  钢制与塑料共享订单、质量、设备、成本和成品放行底座\A验收证据  电流 / 压力 / 密封 / 耐压 / 标识解析均有批次和责任"}
      #factory::after{content:"申报交付  工厂诊断、场景规划、建设取证、材料核查、答辩、现场核查、运营提升\A等级差异  先进级重基础与协同，卓越级重集成、数据驱动、智能决策和持续运营\A验收证据  申报材料、系统截图、设备记录、指标口径和现场演示相互印证"}
      #evidence::after{content:"证据包结构  场景要素 + 指标口径 + 系统截图 + 业务台账 + 设备数据 + 责任人\A治理动作  建档、补证、核验、整改、复核、归档，状态与版本可审计\A产品结果  申报材料不是一次性文档，而是可持续运行的运营资产"}
      #ai-upgrade::after{content:"AI 场景闭环  识别问题 → 治理数据 → 构建模型 → 接入执行 → 评估复制 → 运营治理\A适用方向  质检、排产、设备预测、异常诊断、能耗分析、知识助手\A验收证据  结果可确认、可驳回、可回写、可追溯、可比较、可回滚"}
      #ai-prototype::after{content:"人机协同  模型给建议，岗位做确认，业务系统承载执行，历史记录沉淀样本\A治理要求  输入、版本、置信度、影响范围、人工动作和结果回写完整保留\A验收证据  AI 不绕过质量放行、工单门禁、库存事件和权限审批"}
      #knowledge::after{content:"知识资产  工艺标准、质量方案、设备事件、异常处置、物料批次和申报证据\A助手边界  有来源、有权限、有上下文、有人工确认，不生成无法核验的结论\A验收证据  每个回答能回到原始记录，每个动作都通过岗位流程确认"}
      #config::after{content:"配置对象  主数据、流程、公式、字段、权限、终端、接口和生效期\A治理方式  草案 → 样本验证 → 影子计算 → 评审发布 → 运行与回滚\A验收证据  差异可配置、历史不覆盖、接口可重试、结果可对账"}
      #delivery::after{content:"最终交付  订单可执行、过程可追溯、成本可解释、能力可复制\A交付证据  蓝图、原型、配置包、样本订单、追溯链、对账结果、培训和运营指标\A长期价值  把行业事实做成插件，把企业差异做成配置，把执行沉淀为产品能力"}
      #cockpit .app-main::after{content:"异常责任闭环  · 物料待料 → 责任人 → 截止时间 → 处置动作 → 复核关闭\A运营证据  · 计划达成 / 合格率 / 齐套率 / 停机时长 / 成本差异均可下钻"}
      #schedule .app-main::after{content:"排程说明  · 交期优先，同规格连排，锁定工单不移动，缺料保留影响范围\A版本控制  · 模拟版本、约束诊断、人工确认、发布回执和回滚依据完整留存"}
      #bom .app-main::after{content:"变更影响  · 工单、库存、排程、检验和成本均进入影响分析\A现场门禁  · 只有评审发布且已到生效期的 BOM / 工艺版本才能开工"}
      #cost .app-main::after{content:"成本事件  · 上料 / 耗用 / 人工 / 机器 / 外协 / 差异均有来源对象与时间\A对账状态  · 已记账、暂估、待审批、待回执分别展示，支持重试和冲销"}
      #evidence .app-main::after{content:"证据核验  · 每项场景都有材料责任人、指标口径、附件索引和现场演示路径\A整改闭环  · 待补证据按影响优先级排队，核验状态变化有记录"}
      #pv .proto-screen::after{content:"放行门禁  · 批次来源已绑定 · 配方版本一致 · EL / 外观 / 功率通过 · 责任人确认"}
      #harness .proto-screen::after{content:"测试放行  · 产品变体一致 · 端子与工装匹配 · 压接参数合格 · 导通 / 耐压结果回写"}
      #leather .proto-screen::after{content:"排版决策  · 缺陷区已避让 · 色号已校验 · 套数已确认 · 余料去向已标记"}
      #mold .proto-screen::after{content:"项目风险  · 试模问题 05 条 · 高风险 02 条 · 每条问题有措施、验证和放行版本"}
      #machining .proto-screen::after{content:"开工门禁  · 程序、图纸、工艺卡、设备能力、刀具和量具状态已校验"}
      #smt .proto-screen::after{content:"切线门禁  · 料盘 / 供料器 / 程序 / 钢网 / 炉温全部一致，AOI 缺陷进入复核"}
      #oil-drum .panel{position:relative}
    #oil-drum .panel::after{content:"现场门禁  · 钢卷 / HDPE 批次、UN 标识、焊缝参数、卷封质量、涂层厚度、设备采集\A质量动作  · 待复核对象隔离，复检、放行和成品入库状态分开";display:block;margin-top:22px;padding:10px;border-top:1px solid #c4d9dc;background:#e5f3f1;color:#1d6870;font-size:8px;line-height:1.6;white-space:pre-line}
    #evidence .evidence-board{border-color:#bfd1d8;background:#fff}
    #evidence .evidence-board>div{color:#31566b;border-color:#d6e3e7;background:#fff}
    #evidence .evidence-board>div:nth-child(3n+1){color:#1d4059;background:#f3f7f8;font-weight:700}
    #evidence .evidence-head{color:#fff;background:#20566c;font-weight:700}
    #evidence .evidence-board .done{color:#1d654f;background:#e5f4ec}
    #evidence .evidence-board .plan{color:#285d79;background:#eaf3f8}
    #evidence .evidence-board .risk{color:#9b5529;background:#fff0e4}
    #cockpit .app-main::before{content:"当前决策  ·  MO-024 外协回收超期 2 h · 责任：外协员 · 下一动作：登记收回 / 发起异常\A下钻入口  · 订单行 → 执行段 → 批次 → 质量 / 成本"}
    #schedule .app-main::before{content:"建议触发  ·  MO-038 交期 18:00 · MO-041 缺料 2 项 · MO-044 换模 45 min\A计划员确认  ·  锁定工单后发布，形成版本、回执和可回滚依据"}
    #bom .app-main::before{content:"影响对象  · 3 个工单 / 2 条线 / 终检方案 V3 · 当前待评审\A开工门禁  · 评审发布 + 生效期 + 工单快照，三项同时满足"}
    #cost .app-main::before{content:"差异下钻  · 计量差异 0.4 kg / ¥ 64 · 待审批 · 原始读数可回放\AERP 对账  · 材料、人工、机器、外协和差异状态分开展示"}
    #evidence .app-main::before{content:"优先整改  · 设备互联待补采集记录 · 物流协同差 2 项 · 能源口径待确认\A现场核查  · 附件索引 + 演示路径 + 责任人确认"}
    #ai-center .note{margin-top:9px;font-size:9px}.page.dark #ai-center .ai-center-console{box-shadow:0 8px 22px rgba(0,0,0,.15)}
    @media screen and (max-width:560px){.audit-rail,.industry-closeout,.app-signal-row,.equipment-readout{grid-template-columns:1fr}.app-signal-row{margin-top:8px}.industry-closeout{padding-top:8px}}
    @media screen and (max-width:560px){.oil-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.oil-shared{grid-template-columns:1fr}.oil-board-code{display:none}}
    @media screen and (max-width:900px){#ai-center .ai-center-console{grid-template-columns:1fr;min-height:0}.ai-center-nav{display:none}.ai-center-main{padding:10px}}
    @media screen and (max-width:560px){#ai-center .ai-center-stats{grid-template-columns:repeat(2,1fr)}#ai-center .ai-center-table{font-size:7px}#ai-center .ai-center-table th,#ai-center .ai-center-table td{padding:5px 3px}.ai-center-flow{grid-template-columns:1fr 1fr}.ai-center-guardrails{grid-template-columns:1fr}.ai-center-summary{grid-template-columns:1fr}.ai-center-section-head{display:block}.ai-center-section-head span{display:block;margin-top:4px}}
    @media screen and (max-width:560px){.ai-center-case-head{display:block}.ai-center-case-head span{display:block;margin-top:3px}.ai-center-case-flow{grid-template-columns:1fr 1fr}}
    @media screen and (max-width:900px){.screen-toolbar{position:sticky;top:0;right:auto;justify-content:flex-end;border-radius:0}.book{padding:0}.page{width:100%;height:auto;min-height:0;margin:0 auto 14px;padding:34px 24px 52px}.page-footer{left:24px;right:24px;bottom:18px}.page-endbar,.page:not(.cover):not(#back-cover)::after{display:none}.app-main::after,#oil-drum .panel::after,.industry-proto .proto-screen::after{display:none}.cover{min-height:760px;padding:44px 30px 55px}.cover-kicker{margin-top:170px}.cover-meta{left:30px;right:30px;bottom:46px;display:block}.cover-meta .cover-note{max-width:none;margin-top:7px;text-align:left;font-size:8px}.cover .page-footer{bottom:14px;font-size:8px}.back-cover-meta{left:30px;right:30px;bottom:46px;display:block}.back-cover-meta>div:last-child{margin-top:8px;text-align:left}.back-cover .page-footer{bottom:14px;font-size:8px}.grid-4{grid-template-columns:repeat(2,1fr)}.matrix{overflow-x:auto;grid-template-columns:98px repeat(3,minmax(126px,1fr))}}
    @media screen and (max-width:560px){.screen-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:3px;padding:4px}.screen-toolbar a,.screen-toolbar button{min-height:34px;padding:4px;font-size:9px;line-height:1.2;white-space:nowrap}.screen-toolbar .primary{min-width:86px;white-space:normal}.cover h1{font-size:33px}.page-title{font-size:22px}.grid-2,.grid-3,.split-visual,.industry-proto{grid-template-columns:1fr}.product-rail,.ai-grid{grid-template-columns:1fr 1fr}.product-rail .product{min-height:100px}.layer{grid-template-columns:32px 1fr}.layer-tags{grid-column:2}.flow-row{flex-direction:column}.flow-node:after,.flow-node:before{right:auto;top:auto;bottom:-6px;left:50%;width:2px;height:8px}.flow-node:before{top:auto;bottom:-7px;left:calc(50% - 3px);border:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--orange)}.decision{grid-template-columns:1fr}.lane-wrap{grid-template-columns:54px 1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.ui-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:79px 1fr}.schedule-grid{grid-template-columns:56px repeat(12,minmax(34px,1fr));overflow-x:auto}.pain-strip,.process-band,.rule-grid,.industry-proof{grid-template-columns:1fr 1fr}.proto-field-grid{grid-template-columns:repeat(2,1fr)}.trace-path{flex-wrap:wrap}.trace-node{flex:1 1 28%}.timeline{grid-template-columns:1fr;gap:3px}.timeline:before{top:14px;bottom:14px;left:12px;right:auto;width:2px;height:auto}.timeline-step{display:grid;grid-template-columns:32px 1fr;gap:7px;align-items:center}.timeline-dot{grid-column:1;grid-row:1 / span 2;margin:0}.timeline-step h3,.timeline-step p{text-align:left}.timeline-step h3{grid-column:2;grid-row:1}.timeline-step p{grid-column:2;grid-row:2}.hero-band{align-items:flex-start}.hero-mark{display:none}.photo-frame img{height:auto}}
    @media screen and (max-width:560px){.mini-console,.ai-evidence-grid,.delivery-proof-grid{grid-template-columns:1fr}.mini-console-side{grid-template-columns:repeat(2,1fr)}}
    @media screen and (min-width:901px), print {
      #catalog .case-evidence-band{min-height:128px}#capability .case-evidence-band{min-height:116px}#lifecycle .case-evidence-band{min-height:132px}
      #kitting .case-evidence-band,#quality .case-evidence-band,#equipment .case-evidence-band,#cable .case-evidence-band,#cable-prototype .case-evidence-band,#outsourcing .case-evidence-band,#factory .case-evidence-band,#ai-prototype .case-evidence-band,#knowledge .case-evidence-band{min-height:124px}
      #capability .table-wrap{min-height:0}#lifecycle .timeline{min-height:120px}#bom .app-shell{min-height:430px}#factory .svg-wrap{min-height:190px}#ai-upgrade .timeline{min-height:132px}
      #pv .industry-proof,#harness .industry-proof,#leather .industry-proof,#mold .industry-proof,#machining .industry-proof,#smt .industry-proof{display:grid;margin-top:10px}


      #pv .industry-proof .proof-card,#harness .industry-proof .proof-card,#leather .industry-proof .proof-card,#mold .industry-proof .proof-card,#machining .industry-proof .proof-card,#smt .industry-proof .proof-card{min-height:126px}
      #pv .industry-closeout,#harness .industry-closeout,#leather .industry-closeout,#mold .industry-closeout,#machining .industry-closeout,#smt .industry-closeout{margin-top:10px;min-height:112px}
      #pv .industry-closeout>div,#harness .industry-closeout>div,#leather .industry-closeout>div,#mold .industry-closeout>div,#machining .industry-closeout>div,#smt .industry-closeout>div{min-height:112px}
    }
    @media screen and (max-width:560px){.case-evidence-head{align-items:flex-start;flex-direction:column}.case-evidence-grid{grid-template-columns:1fr}}
    @media (min-width:901px), print {
      #architecture .split-visual>.panel{min-height:300px}
      #quality .case-evidence-band{min-height:158px}
      #equipment .case-evidence-band{min-height:146px}
      #cable .case-evidence-band{min-height:146px}
      #cable-prototype .case-evidence-band{min-height:146px}
      #outsourcing .case-evidence-band{min-height:146px}
      #factory .case-evidence-band{min-height:140px}
      #ai-prototype .case-evidence-band{min-height:146px}
      #knowledge .case-evidence-band{min-height:150px}
    }
    @media screen and (max-width:560px){.architecture-rule-list,.app-event-strip{grid-template-columns:1fr}}
    /* Final editorial fill: each sparse page gets a business-native evidence band. */
    @media (min-width:901px), print {
      #cost .app-shell{min-height:480px}
      #cost .app-signal-row{margin-top:8px}
      #cost .case-evidence-band{min-height:150px}
      #quality .case-evidence-band{min-height:176px}
      #equipment .case-evidence-band{min-height:146px}
      #cable .case-evidence-band{min-height:158px}
      #cable-trace .case-evidence-band{min-height:136px}
      #outsourcing .case-evidence-band{min-height:155px}
      #factory .case-evidence-band{min-height:146px}
      #ai-prototype .case-evidence-band{min-height:146px}
      #knowledge .case-evidence-band{min-height:158px}

      #equipment.page:not(.cover):not(#back-cover)>.page-endbar,#factory.page:not(.cover):not(#back-cover)>.page-endbar{margin-top:10px}
      #capability.page:not(.cover):not(#back-cover)>.audit-rail,
      #lifecycle.page:not(.cover):not(#back-cover)>.audit-rail,
      #kitting.page:not(.cover):not(#back-cover)>.audit-rail,
      #quality.page:not(.cover):not(#back-cover)>.audit-rail,
      #cable.page:not(.cover):not(#back-cover)>.audit-rail,
      #cable-trace.page:not(.cover):not(#back-cover)>.audit-rail,
      #outsourcing.page:not(.cover):not(#back-cover)>.audit-rail,
      #knowledge.page:not(.cover):not(#back-cover)>.audit-rail{margin-top:10px}
    }
    /* Screen typography pass: improve reading size without changing print A4 metrics. */
    @media screen {
      body{font-size:13px;line-height:1.65}
      .lead{font-size:14px;line-height:1.75}
      .body-copy{font-size:13px;line-height:1.75}
      .section-heading{font-size:15px}
      .panel p,.feature p,.list li,.formula,.note{font-size:12px;line-height:1.7}
      .label,.chip{font-size:10px}
      .metric-name,.metric-foot{font-size:10px}
      .svg-caption,.photo-frame figcaption{font-size:10px;line-height:1.55}
      .data-table{font-size:10px}
      .data-table th{font-size:9px}
      .data-table th,.data-table td{padding:7px 8px}
      .page-endbar{font-size:11px;line-height:1.65}
      .product p,.hero-band p{font-size:11px;line-height:1.6}
      .layer p{font-size:10px}
      .layer-tags span,.matrix>div{font-size:10px}
      .flow-node b{font-size:11px}
      .flow-node small,.lane-step,.lane-name,.decision-label,.decision-path b,.decision-path small,.trace-node,.object-chain .node{font-size:9px}
      .industry-card h3{font-size:13px}
      .industry-card h3 span{font-size:9px}
      .industry-card p,.industry-card ul,.offer p,.offer ul,.ai-card p,.timeline-step p,.proof-card p,.pain small,.rule small,.case-evidence-grid p,.case-evidence-grid label,.audit-rail p,.equipment-readout small,.delivery-proof-grid p{font-size:10px;line-height:1.55}
      .industry-closeout b,.industry-closeout small{font-size:10px;line-height:1.5}
      .industry-closeout strong{font-size:11px}
      .evidence-board>div{font-size:9px}
      .ai-card h3{font-size:12px}
      .timeline-step h3{font-size:11px}
      .proof-card b,.case-evidence-grid strong{font-size:11px}
      .case-evidence-head span{font-size:9px}
      .app-top h3{font-size:13px}
      .ui-panel h4{font-size:10px}
      .ui-panel p{font-size:9px}
      .ui-table{font-size:8px}
      .ui-table th,.ui-table td{padding:4px 3px}
      .status{font-size:8px}
      .schedule-grid{font-size:8px}
      .tree{font-size:9px}
      .input-line,.action,.pda-top,.scan,.pda-row,.progress,.cost-meter .meter-head{font-size:9px}
      .proto-title{font-size:11px}
      .proto-field label{font-size:8px}
      .proto-field b{font-size:10px}
      .proto-table{font-size:8px}
      .process-band div{font-size:9px}
      .architecture-rule-list b{font-size:9px}
      .architecture-rule-list span{font-size:8px}
      .app-event-strip b,.app-event-strip small{font-size:8px}
      .app-event-strip strong{font-size:10px}
      .app-signal b,.app-signal small{font-size:8px}
      .app-signal strong{font-size:11px}
      .ai-evidence-grid strong{font-size:11px}
      .ai-evidence-grid small{font-size:9px}
      .delivery-proof-grid label{font-size:9px}
      .page:not(.cover):not(#back-cover)>.audit-rail{min-height:100px}
      #ai-prototype .lead{font-size:13px;line-height:1.7}
      #ai-prototype .proto-title{font-size:10px}
      #ai-prototype .status{font-size:7px}
      #ai-prototype .action{font-size:8px}
      #ai-prototype .proto-field label{font-size:7px}
      #ai-prototype .proto-field b{font-size:9px}
    }
    @media screen and (max-width:560px){
      .cover-kicker{font-size:9px;letter-spacing:.12em;white-space:nowrap}
      .back-contact-panel{position:relative;left:auto;right:auto;bottom:auto;margin:14mm 0 9mm}
      .back-contact-grid{gap:5px}
      .back-contact-card{min-height:0;padding:6px 2px}
      .back-contact-card strong{font-size:8px}
      .back-contact-card img{width:18mm;height:18mm}
      .back-contact-card small{font-size:7px}
      .back-cover-meta{position:relative;left:auto;right:auto;bottom:auto;margin-top:0}
      .cover-manifesto{overflow-wrap:anywhere}
      .cover-meta{bottom:42px;display:block}
      .cover-meta .cover-note{max-width:none;margin-top:7px;text-align:left;font-size:8px}
      .cover .page-footer{bottom:14px;font-size:8px}
    }
    /* Layout refinement: keep the composition dense where the business story is strongest. */
    #architecture .split-visual>.panel{min-height:318px}
    #architecture .architecture-rule-list{margin-top:13px}
    #architecture .architecture-rule-list>div{min-height:72px;padding:9px 10px}
    #architecture .app-event-strip{margin-top:15px}
    #architecture .app-event-strip>div{min-height:72px}

    #mes .hero-band{min-height:128px}
    #mes .mes-module-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:11px 0 0}
    #mes .mes-module{display:flex;flex-direction:column;min-height:238px;padding:11px 11px 10px;border:1px solid #cbdde2;border-top:3px solid var(--teal);border-radius:5px;background:#fff}
    #mes .mes-module:nth-child(2){border-top-color:var(--orange);background:#fffdfb}
    #mes .mes-module:nth-child(3){border-top-color:var(--purple);background:#fcfbff}


    .back-cover:before{opacity:.32;background-image:linear-gradient(90deg,transparent 49%,rgba(122,216,210,.28) 49.3%,transparent 49.8%),linear-gradient(0deg,transparent 49%,rgba(122,216,210,.2) 49.3%,transparent 49.8%);background-size:38px 38px;mask-image:linear-gradient(135deg,transparent 2%,#000 34%,#000 88%,transparent 100%)}
    .back-cover-content{position:relative;z-index:1;margin-top:57mm;max-width:650px}
    .back-cover-content h2{margin:0 0 12px;color:#fff;font-size:31px;line-height:1.24}
    .back-cover-content h2 span{color:var(--cyan)}
    .back-cover-content>p{margin:0;color:#bdd2d6;font-size:13px;line-height:1.8}
    .back-cover-meta{position:absolute;left:20mm;right:20mm;bottom:22mm;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#88a7b3;font-size:9px;line-height:1.6}.back-cover-meta strong{display:block;color:#d9f6f1;font-size:13px}.back-cover-meta>div:last-child{text-align:right}
    .back-contact-panel{position:absolute;left:20mm;right:20mm;bottom:48mm;z-index:3}
    .back-contact-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:2.5mm;color:#eaf4f5}
    .back-contact-heading strong{font-size:12px;letter-spacing:.04em}
    .back-contact-heading span{color:#9eb8c1;font-size:9px}
    .back-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7mm}
    .back-contact-card{display:flex;min-height:50mm;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 5px;border:1px solid #d4e1e4;border-top:3px solid var(--teal);border-radius:6px;background:rgba(248,251,252,.98);color:#17364d;text-align:center;box-shadow:0 5px 14px rgba(0,0,0,.16)}
    .back-contact-card:nth-child(2){border-top-color:var(--orange)}
    .back-contact-card:nth-child(3){border-top-color:var(--purple)}
    .back-contact-card strong{font-size:10.5px;line-height:1.25}
    .back-contact-card img{display:block;width:30mm;height:30mm;object-fit:contain;background:#fff;border-radius:2px}
    .back-contact-card small{color:#718995;font-size:8.5px;line-height:1.2}
    @media screen and (max-width:560px){
      #mes .mes-module-map,#mes .mes-output-strip,.architecture-acceptance-grid,.back-capability-line{grid-template-columns:1fr}
      #mes .mes-module{min-height:0}.back-cover-content{margin-top:52mm}.back-route{flex-wrap:wrap}.back-cover-meta{position:relative;left:auto;right:auto;bottom:auto;display:block}.back-cover-meta>div:last-child{margin-top:8px;text-align:left}
    }
    /* Final A4 composition: content-first modules, consistent section rhythm. */
    @media screen and (min-width:901px), print {
      .page:not(.cover):not(#back-cover){
        display:flex;flex-direction:column;justify-content:space-between;gap:10px
      }
      .page:not(.cover):not(#back-cover)::after{display:none}
      .page:not(.cover):not(#back-cover)>:not(.page-footer){
        margin-top:0!important;margin-bottom:0!important
      }
      .page:not(.cover):not(#back-cover)>.page-endbar{
        position:static;left:auto;right:auto;bottom:auto;z-index:auto;
        display:flex;flex:0 0 auto;align-items:center;min-height:82px
      }
      .page:not(.cover):not(#back-cover)>.audit-rail{flex:0 0 auto;min-height:108px}
      .page:not(.cover):not(#back-cover)>.audit-rail + .page-endbar{display:none}
      .page:not(.cover):not(#back-cover)>.industry-closeout{flex:0 0 auto;min-height:104px}

      /* Short-copy cards center their text; they do not stretch headings to opposite edges. */
      .feature,.metric,.pain,.rule,.offer,.ai-card,.industry-card,
      .product-rail .product,.audit-rail>div,.industry-closeout>div,.proof-card,
      .case-evidence-grid>div,.app-signal,.equipment-readout>div,
      .ai-evidence-grid>div,.delivery-proof-grid>div,.ai-center-guardrails>div{
        display:flex;flex-direction:column;justify-content:center;gap:6px
      }
      .page:not(.cover):not(#back-cover) .grid-2>.panel,
      .page:not(.cover):not(#back-cover) .split-visual>.panel{
        display:flex;flex-direction:column;justify-content:flex-start;gap:10px
      }
      .page:not(.cover):not(#back-cover) .panel>.list{
        display:flex;flex:1 1 auto;flex-direction:column;justify-content:space-between;gap:8px
      }
      .page:not(.cover):not(#back-cover) .panel>.list li{margin:0}
      #catalog .grid-2>.panel .list{flex:1 1 auto}

      .app-shell .app-main::before,.app-shell .app-main::after,
      #oil-drum .panel::after{content:none!important;display:none!important}
      .app-shell .app-main{display:flex;flex-direction:column;justify-content:flex-start;gap:8px}
      .app-shell .app-main>*{margin-top:0!important;margin-bottom:0!important}
      .mini-console-main,#ai-center .ai-center-main{
        display:flex;flex-direction:column;justify-content:flex-start;gap:8px
      }
      .mini-console-main>*,#ai-center .ai-center-main>*{margin-top:0!important;margin-bottom:0!important}

      /* Keep page-specific modules content-sized; page-level spacing fills the A4 flow. */
      #catalog .hero-band{min-height:220px}
      #catalog .product-rail,#catalog .product{min-height:145px}
      #architecture .split-visual>.panel{min-height:318px}
      #mes .hero-band{min-height:128px}
      #mes .mes-module{justify-content:space-between}
      #mes .mes-module-row:last-child{margin-top:0}
      #lifecycle .panel{min-height:265px}
      #lifecycle .timeline{min-height:120px}
      #cockpit .app-shell,#schedule .app-shell,#bom .app-shell,
      #cost .app-shell,#evidence .app-shell{min-height:0}
      #schedule .grid-3 .metric{min-height:126px}
      #ai-upgrade .timeline{min-height:132px}
      #kitting .split-visual{min-height:385px}
      #kitting .split-visual>.panel{min-height:0}
      #quality .split-visual{min-height:365px}
      #quality .split-visual>.panel{min-height:0}
      #equipment .grid-2,#equipment .grid-2>.panel{min-height:0}

      #cable .svg-wrap{min-height:285px}
      #cable-prototype .split-visual,#cable-prototype .split-visual>.panel{min-height:0}
      #cable-trace .svg-wrap{min-height:305px}

      #knowledge .split-visual,
      #knowledge .split-visual>.panel,
      #outsourcing .split-visual,
      #outsourcing .split-visual>.panel{min-height:0}
      #knowledge .split-visual>.panel:last-child .svg-wrap{
        display:flex;flex:1 1 auto;min-height:0;align-items:center;justify-content:center
      }
      #knowledge .split-visual>.panel:last-child .svg-wrap svg{width:100%;max-height:100%}
      #capability .table-wrap{min-height:170px}
      #config .table-wrap{min-height:190px}
      #capability .table-wrap,#config .table-wrap{display:flex;flex-direction:column}
      #capability .table-wrap>.data-table,#config .table-wrap>.data-table{flex:1 1 auto;height:100%}
      #capability .data-table th,#capability .data-table td,
      #config .data-table th,#config .data-table td{vertical-align:middle;padding-top:9px;padding-bottom:9px}
      #industry .matrix>div{display:flex;align-items:center}

      /* Shared industry prototype rows remain content-sized; no flex spacer pushes copy apart. */
      .industry-proto{min-height:0;align-items:start}
      .industry-proto .industry-objects{height:auto;min-height:0}
      .industry-proto .industry-knowledge{flex:0 0 auto;min-height:0}
      .industry-proto .knowledge-flow{flex:0 0 auto;min-height:0;justify-content:flex-start}
      .industry-proto .proto-screen{min-height:0;align-self:start}
      .industry-proto .proto-field-grid{flex:0 0 auto;align-content:start}
      .industry-proto .proto-table{margin-top:6px}
      #pv .industry-proof,#harness .industry-proof,#leather .industry-proof,
      #mold .industry-proof,#machining .industry-proof,#smt .industry-proof{display:grid}
      #pv .industry-proof .proof-card,#harness .industry-proof .proof-card,
      #leather .industry-proof .proof-card,#mold .industry-proof .proof-card,
      #machining .industry-proof .proof-card,#smt .industry-proof .proof-card{min-height:126px}
      #pv .industry-closeout,#harness .industry-closeout,#leather .industry-closeout,
      #mold .industry-closeout,#machining .industry-closeout,#smt .industry-closeout{min-height:142px}
      #pv .industry-closeout>div,#harness .industry-closeout>div,#leather .industry-closeout>div,
      #mold .industry-closeout>div,#machining .industry-closeout>div,#smt .industry-closeout>div{min-height:112px}
      #capability.page:not(.cover):not(#back-cover)>.audit-rail{min-height:140px}
      #lifecycle.page:not(.cover):not(#back-cover)>.audit-rail{min-height:145px}
      #kitting.page:not(.cover):not(#back-cover)>.audit-rail{min-height:128px}
      #quality.page:not(.cover):not(#back-cover)>.audit-rail{min-height:150px}
      #knowledge.page:not(.cover):not(#back-cover)>.audit-rail{min-height:140px}
      #factory.page:not(.cover):not(#back-cover)>.page-endbar{min-height:105px}
      #delivery .delivery-proof-grid + .grid-2{margin-top:0}
      #back-cover .back-cover-content{margin-top:70mm}
    }


/* Full-manual A4 QA pass: rebalance sparse modules without changing document content. */
@media screen and (min-width:901px), print {
  /* Cards with short copy should size to their content rather than preserve oversized placeholders. */
  #bom .grid-2>.note,
  #cable-trace .grid-2>.panel,
  #ai-upgrade .grid-2>.panel {
    min-height:0;
  }
  #industry .grid-2>.panel {min-height:170px}

  /* Reduce fixed minimums that created large dead zones inside otherwise content-rich pages. */
  #kitting .split-visual {min-height:335px}
  #cable .svg-wrap {min-height:205px}

  #delivery .timeline {min-height:130px}


  /* Let the prototype screens occupy their panels; distribute existing controls evenly. */
  #quality .split-visual>.panel:first-child .proto-screen,
  #cable-prototype .split-visual>.panel:first-child .proto-screen,
  #oil-drum .split-visual>.panel .proto-screen,
  #knowledge .split-visual>.panel:first-child .proto-screen {
    display:flex;
    flex:1 1 auto;
    min-height:0;
    flex-direction:column;
    justify-content:space-between;
    gap:10px;
  }
  #quality .proto-field,
  #cable-prototype .proto-field,
  #oil-drum .proto-field {
    min-height:44px;
    padding:7px 8px;
  }
  #cable-prototype .proto-field {min-height:48px}
  #quality .proto-table th,
  #quality .proto-table td,
  #oil-drum .proto-table th,
  #oil-drum .proto-table td {padding:6px 5px}
  #cable .svg-wrap svg,
  #knowledge .svg-wrap svg {max-height:100%}
}

/* Desktop HTML preview uses the same calm, readable hierarchy as the exported A4 pages. */
@media screen and (min-width:901px) {
  .page:not(.cover):not(#back-cover) .lead {font-size:14px;line-height:1.55}
  .page:not(.cover):not(#back-cover) .feature p,
  .page:not(.cover):not(#back-cover) .panel p,
  .page:not(.cover):not(#back-cover) .list li,
  .page:not(.cover):not(#back-cover) .note,
  .page:not(.cover):not(#back-cover) .formula,
  .page:not(.cover):not(#back-cover) .case-evidence-grid p,
  .page:not(.cover):not(#back-cover) .audit-rail p,
  .page:not(.cover):not(#back-cover) .proof-card p,
  .page:not(.cover):not(#back-cover) .industry-closeout small,
  .page:not(.cover):not(#back-cover) .rule small,
  .page:not(.cover):not(#back-cover) .timeline-step p,
  .page:not(.cover):not(#back-cover) .delivery-proof-grid p {font-size:11px;line-height:1.5}
  .page:not(.cover):not(#back-cover) .feature h3,
  .page:not(.cover):not(#back-cover) .panel h3,
  .page:not(.cover):not(#back-cover) .app-top h3,
  .page:not(.cover):not(#back-cover) .ui-panel h4 {font-size:14px;line-height:1.3}
  .page:not(.cover):not(#back-cover) .metric-name,
  .page:not(.cover):not(#back-cover) .metric-foot,
  .page:not(.cover):not(#back-cover) .case-evidence-grid label,
  .page:not(.cover):not(#back-cover) .audit-rail label,
  .page:not(.cover):not(#back-cover) .delivery-proof-grid label {font-size:9.5px}
  .page:not(.cover):not(#back-cover) .proto-field label,
  .page:not(.cover):not(#back-cover) .status,
  .page:not(.cover):not(#back-cover) .ui-table,
  .page:not(.cover):not(#back-cover) .proto-table,
  .page:not(.cover):not(#back-cover) .object-row span,
  .page:not(.cover):not(#back-cover) .process-band div {font-size:10px;line-height:1.45}
  .page:not(.cover):not(#back-cover) .proto-field b {font-size:11px}
  .page:not(.cover):not(#back-cover) .app-signal b,
  .page:not(.cover):not(#back-cover) .app-signal small {font-size:9.5px;line-height:1.4}
  .page:not(.cover):not(#back-cover) .industry-knowledge-head b,
  .page:not(.cover):not(#back-cover) .knowledge-node b,
  .page:not(.cover):not(#back-cover) .knowledge-result strong {font-size:10px}
  .page:not(.cover):not(#back-cover) .industry-knowledge-head span,
  .page:not(.cover):not(#back-cover) .knowledge-node small,
  .page:not(.cover):not(#back-cover) .knowledge-result span {font-size:9px;line-height:1.35}
  #cable-flow .decision-label {font-size:11px}
  #cable-flow .decision-path b {font-size:10.5px}
  #cable-flow .decision-path small {font-size:10px;line-height:1.45}
  #knowledge .svg-wrap svg text[font-size="8"] {font-size:9px}
  #knowledge .svg-wrap svg g[font-size="8"] text:not([font-size]) {font-size:9px}
}


/* Tight-page tuning: preserve every table row in complex prototype pages. */
@media screen and (min-width:901px), print {
  #cost.page:not(.cover):not(#back-cover) {gap:6px}
  #cost .app-shell {flex:0 0 auto;min-height:0}
  #cost .app-main {gap:6px;padding:11px 12px}
  #cost .app-shell .bars {height:118px}
  #cost .app-shell .ui-panel {padding:9px}
  #cost .app-shell .ui-panel h4 {margin-bottom:4px;font-size:13px}
  #cost .app-shell .ui-panel p {font-size:10.5px;line-height:1.4}
  #cost .app-shell .ui-grid {gap:5px}
  #cost .app-shell .kpi {min-height:50px;padding:5px}
  #cost .app-shell .ui-table {font-size:9.5px;line-height:1.3}
  #cost .app-shell .ui-table th,
  #cost .app-shell .ui-table td {padding:4px 3px}
  #cost .cost-meter {margin:8px 0}
  #cost .app-signal-row {padding-top:5px}
  #cost .app-signal {min-height:50px;padding:4px 6px}
  #cost .case-evidence-band {min-height:0;padding:6px 9px}
  #cost .case-evidence-grid>div {min-height:108px;padding:7px 8px}
  #cost .audit-rail {min-height:90px}
  #cost .audit-rail>div {min-height:80px;padding:7px 8px}

  #ai-center.page {gap:7px}
  #ai-center .ai-center-console {flex:0 0 auto}
  #ai-center .ai-center-section {margin-top:8px}
  #ai-center .ai-center-flow>div {min-height:70px;padding:6px}
  #ai-center .ai-center-guardrails {gap:6px;margin-top:8px}
  #ai-center .ai-center-guardrails>div {min-height:70px;padding:7px}
  #ai-center .ai-center-case {margin-top:8px;padding:8px 9px}
  #ai-center .ai-center-case-flow {gap:6px;margin-top:6px}
  #ai-center .ai-center-case-flow>div {min-height:62px;padding:3px 6px}
  #ai-center .note.orange {padding:7px 10px;font-size:11px;line-height:1.4}
  #ai-center .page-endbar {min-height:72px;padding:9px 12px;font-size:11px;line-height:1.4}
}


/* Final prototype balance: remove oversized infographic cards and share remaining room evenly. */
@media screen and (min-width:901px), print {
  #oil-drum .industry-proof {min-height:0}
  #oil-drum .industry-proof .proof-card {min-height:112px}
  #oil-drum .split-visual>.panel .proto-screen {justify-content:space-evenly;gap:6px}
  #oil-drum .proto-field {min-height:48px}
  #oil-drum .proto-table th,
  #oil-drum .proto-table td {padding:7px 5px}
  #cable-trace .svg-wrap {min-height:260px}
}


/* Footer clearance: keep dense AI prototype content above its folio rule. */
@media screen and (min-width:901px), print {
  #ai-prototype.page:not(.cover):not(#back-cover) {gap:7px}
}
