| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- /* 观澜 新前端样式表 —— 设计基准 = docs/design/guanlan_v2.html
- * (2026-09-03 用户: "你帮我整体设计一下吧"; 纸底/印章/长卷那版已否, 留档 docs/design/_explored/)
- *
- * 六条决定:
- * 01 问题先于全貌 打开先看该管的几台; 全场状态压成 38 格一条带子放第二屏
- * 02 两条轴两枚chip 设备状态 (彩色) × 证据级 (单色) 并排 —— 两者不可互替, 这是产品的真正特色
- * 03 限定语不可分离 每个结论下的限定行在同一张卡, 带自己的标签
- * 04 一种强调色 海蓝只用于「可操作」; 红黄灰绿是语义不是装饰
- * 05 System font stack only; no external font request.
- * 06 不动 无入场动画, 只有悬停与选中
- *
- * 单主题 (显式底色)。深色版留作后续 —— token 已分层, 届时只改 :root。
- */
- :root{
- --ground:#F5F7F8; --panel:#FFFFFF; --ink:#1B2430; --muted:#5C6B78; --line:#DDE3E8; --hair:#C9D1D8;
- --accent:#1F6F8B; --accent-deep:#175A71; --accent-soft:#BFDCE6; --wash:#E8F2F6;
- --critical:#C8372D; --warning:#D48A1E; --unknown:#8A96A0; --good:#2E8B6A; --excellent:#8FCBB5;
- /* 迁移期: 旧 JS 里的变量名指到新语义 */
- --bad:var(--critical); --warn:var(--warning); --ok:var(--good); --info:var(--accent);
- --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
- --mono:"SF Mono",Menlo,Consolas,monospace;
- --r:10px;
- }
- *{box-sizing:border-box}
- html{background:var(--ground)}
- body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
- body[data-lang=zh]{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Inter,ui-sans-serif,system-ui,sans-serif}
- a{color:var(--accent-deep);text-decoration:none}
- a:hover{text-decoration:underline}
- .wrap{max-width:1200px;margin:0 auto;padding:0 28px 72px}
- :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
- .num{font-variant-numeric:tabular-nums}
- .small{font-size:12.5px} .muted{color:var(--muted)}
- h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.005em;text-wrap:balance}
- h2{font-size:15px} h3{font-size:14px}
- @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
- /* ── 顶 ── */
- header.top{display:flex;align-items:center;gap:14px;padding:18px 0 12px}
- .mark{display:inline-flex;align-items:center;gap:9px}
- .mark svg{width:26px;height:26px;color:var(--accent)}
- .brand{font-weight:600;font-size:18px;letter-spacing:-.01em}
- .brand small{font-weight:400;color:var(--muted);margin-left:8px;font-size:13px}
- .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);border-radius:4px;padding:2px 7px}
- header.top .right{margin-left:auto;display:flex;gap:8px;align-items:center}
- select,input,button{font:inherit;font-size:13px;color:var(--ink)}
- select,input{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:6px 10px}
- input::placeholder{color:var(--muted)}
- .toggle{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--panel)}
- .toggle button{border:0;background:transparent;padding:6px 12px;cursor:pointer;color:var(--muted)}
- .toggle button.on{background:var(--ink);color:#fff}
- /* ── 页签: 平铺 (用户 2026-08-28 裁定), 当前项一条下划线 ── */
- nav.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);flex-wrap:wrap}
- nav.tabs button{font-size:13.5px;border:0;background:transparent;color:var(--muted);padding:9px 12px 10px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
- nav.tabs button.on{color:var(--accent-deep);border-bottom-color:var(--accent);font-weight:500}
- /* ── 节 ── */
- section{margin-top:26px}
- .sechead{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
- .sechead .meta{color:var(--muted);font-size:12.5px}
- .sechead .legend{margin-left:auto}
- .legend{display:flex;gap:14px;font-size:12px;color:var(--muted)}
- .legend i{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:-1px;margin-right:5px}
- .eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}
- /* ── 按钮 ── */
- .btn{padding:7px 16px;border-radius:7px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:500;cursor:pointer}
- .btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
- .btn.quiet{background:transparent;color:var(--accent-deep)}
- .btn:disabled{opacity:.5;cursor:not-allowed}
- /* ── 面板 / 表 ── */
- .panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
- .mb{margin-bottom:12px}
- .tblwrap{overflow-x:auto}
- table{width:100%;border-collapse:collapse;font-size:13px}
- th{font-weight:500;color:var(--muted);text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.02em;white-space:nowrap}
- td{padding:7px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:top}
- tr:last-child td{border-bottom:0}
- td.r,th.r{text-align:right}
- /* ── KPI: 左边条 = 语义 ── */
- .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
- .kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 11px;position:relative}
- .kpi::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 2px 2px 0;background:var(--accent)}
- .kpi.warn::before{background:var(--warning)} .kpi.bad::before{background:var(--critical)} .kpi.ok::before{background:var(--good)}
- .kpi b{display:block;font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
- .kpi b small{font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}
- .kpi span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
- /* ── chip: 设备状态 (彩色) ── */
- .chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:5px;white-space:nowrap;line-height:1.5}
- .chip.bad{background:rgba(200,55,45,.10);color:var(--critical)}
- .chip.warn{background:rgba(212,138,30,.14);color:#9C6410}
- .chip.unk{background:rgba(138,150,160,.16);color:#4F5B66}
- .chip.ok{background:rgba(46,139,106,.12);color:#22705A}
- .chip.ex{background:rgba(143,203,181,.22);color:#2E7A62}
- /* ── tier: 证据级 (单色) · rv: 审级 ── */
- .evid{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
- .tier{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid var(--hair);color:var(--muted);white-space:nowrap}
- .tier.confirmed{background:var(--ink);border-color:var(--ink);color:#fff}
- .tier.near{border-color:var(--ink);color:var(--ink)}
- .tier.candidate{border-color:var(--muted);color:var(--muted)}
- .tier.reference{}
- .tier.insufficient{border-style:dashed}
- .tier.withdrawn{text-decoration:line-through}
- .rv{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
- .rv::before{content:"·";margin-right:3px;color:var(--hair)}
- /* ── 关注卡: 左边条 = 设备状态 ── */
- .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
- .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 12px 18px;position:relative;transition:box-shadow .15s}
- .card::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 2px 2px 0;background:var(--sev,var(--hair))}
- .card.lit{box-shadow:0 0 0 2px var(--accent-soft)}
- .card .head{display:flex;align-items:baseline;gap:10px}
- .card .unit{font-weight:600;font-size:19px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
- .card .sys{color:var(--muted);font-size:13px}
- .card .head .chip{margin-left:auto}
- .card .why{margin:8px 0 9px;font-size:13.5px}
- .caveat{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:7px;margin-top:2px;line-height:1.5}
- .caveat b{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:7px}
- /* ── 迷你趋势: 越早越淡 (JS 按序设 opacity), 末点实色 ── */
- .spark{height:28px;display:flex;align-items:flex-end;gap:2px;margin:9px 0 8px}
- .spark i{flex:1;display:block;background:var(--accent);border-radius:1px 1px 0 0}
- /* ── 全场状态条: 一格一台 ── */
- .strip{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 8px}
- .cells{display:grid;grid-template-columns:repeat(var(--n,38),1fr);gap:4px}
- .cell{aspect-ratio:1;border-radius:3px;background:var(--excellent);transition:transform .1s}
- .cell.hot{cursor:pointer} .cell.hot:hover{transform:translateY(-2px)}
- .cell.bad{background:var(--critical)} .cell.warn{background:var(--warning)} .cell.unk{background:var(--unknown)} .cell.ok{background:var(--good)}
- .cell.lit{outline:2px solid var(--ink);outline-offset:1px}
- .nums{display:grid;grid-template-columns:repeat(var(--n,38),1fr);gap:4px;margin-top:5px;font-family:var(--mono);font-size:9.5px;color:var(--muted);text-align:center}
- .nums span.hot{color:var(--ink);font-weight:500}
- .quiet{color:var(--muted);font-size:13px;margin-top:10px}
- .quiet b{color:var(--ink);font-weight:500}
- /* ── 系统入口 ── */
- .systems{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
- .sysc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:11px 13px;display:grid;gap:7px}
- .sysc .t{display:flex;justify-content:space-between;align-items:baseline}
- .sysc .t b{font-weight:500}
- .sysc .t a{font-size:12px}
- .bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--line)}
- .bar i{display:block;height:100%}
- .sysc .cnt{display:flex;gap:10px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
- .sysc .cnt i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}
- /* ── 骨架 (载入中) ── */
- .skel{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--line),var(--panel),var(--line));background-size:200% 100%;animation:sk 1.2s linear infinite}
- @keyframes sk{to{background-position:-200% 0}}
- /* 原文数据 (英文模式下按原文标注显示) */
- .verbatim{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
- code{font-family:var(--mono);font-size:11.5px}
- /* ── 问答: 类别 pill / 常用问题行 / 核验徽章 ── */
- .pill{font-size:13px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
- .pill.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}
- .qitem{font-size:13px;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-top:8px;background:var(--panel)}
- .qitem:hover{border-color:var(--accent-soft);background:var(--wash)}
- .badge{display:inline-block;font-size:11.5px;padding:1px 8px;border-radius:5px;border:1px solid var(--hair);color:var(--muted)}
- .badge.ok{border-color:var(--good);color:var(--good)} .badge.warn{border-color:var(--warning);color:#9C6410}
- /* ── 汇报定制: 一页纸预览 ── */
- .paper{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px 30px;margin-top:14px}
- .paper-hd{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;margin-bottom:16px;border-bottom:2px solid var(--ink)}
- .paper-ti{font-weight:600;font-size:17px;letter-spacing:-.01em}
- .paper-ft{display:flex;justify-content:space-between;gap:16px;font-size:11.5px;color:var(--muted);padding-top:10px;margin-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
- .paper .panel{border-radius:8px}
- svg.dt text{font-family:var(--sans)}
- @media print{.noprint,nav.tabs,header.top,footer{display:none!important}.wrap{padding:0;max-width:none}.paper{border:0;padding:0}body{background:#fff}}
- /* ── 双列网格 (故障/电量页): 窄屏单列, 宽屏两列; span2 占满 ── */
- .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:12px}
- .grid2 .span2{grid-column:1/-1}
- i.bar{display:inline-block;height:10px;border-radius:2px;vertical-align:middle;margin-right:6px;opacity:.85}
- /* ── 振动融合: 状态|证据 双联 chip, 传动链小格, 矩阵表 ── */
- .duo{display:inline-flex;align-items:stretch;border:1px solid var(--c,var(--hair));border-radius:5px;overflow:hidden;font-size:11.5px;line-height:1.5;max-width:100%}
- .duo .st{padding:1px 7px;background:var(--c,var(--hair));color:#fff;font-weight:500;white-space:nowrap}
- .duo .ev{padding:1px 7px;color:var(--ink);background:var(--panel);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
- .chain{display:inline-flex;gap:2px;vertical-align:middle}
- .chain i{display:inline-block;width:11px;height:11px;border-radius:2px;border:1px solid var(--hair);background:var(--panel)}
- .chain i.on{border-color:var(--accent)}
- table.fmx td{vertical-align:top;padding:6px 8px}
- table.fmx th div{line-height:1.3}
- /* ── 逐台/单问题浮层 (静态站上 /turbine /problem 是 404, 页内兜住) ── */
- .popm{position:fixed;inset:0;z-index:9999;background:rgba(27,36,48,.55);overflow:auto;padding:24px 16px}
- .popc{max-width:1120px;margin:0 auto;background:var(--ground);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
- .poph{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
- .poph h3{font-size:16px}
- /* 2026-09-03: reading hierarchy, work-order details and responsive layout. */
- :root{--r:12px;--shadow:0 3px 16px rgba(23,51,68,.035)} /* 2026-09-06 用户裁: 去中段 --ground/--line 覆盖, 令牌与门户一致 */
- .wrap{max-width:1360px;padding:0 32px 64px}
- header.top{padding:24px 0 20px;gap:24px}
- .brand{font-size:21px;letter-spacing:-.035em}
- .brand small{letter-spacing:0;font-size:12px}
- .mark{gap:12px}
- nav.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;background:#EAF0F3;border:1px solid var(--line);border-radius:12px}
- nav.tabs button{margin:0;padding:10px 6px;min-height:40px;border:0;border-radius:7px;font-size:12px;line-height:1.3}
- nav.tabs button:hover{color:var(--accent-deep);background:#F5F9FA}
- nav.tabs button.on{color:var(--accent-deep);background:var(--panel);box-shadow:0 1px 5px #17334412;font-weight:600}
- .page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 16px}
- .page-head h1{font-size:28px;line-height:1.2;letter-spacing:-.035em}
- .window-badge{font-size:11px;font-weight:500;white-space:nowrap;color:var(--accent-deep);border:1px solid #CDDEE6;background:#ECF4F7;padding:5px 10px;border-radius:6px}
- .page-head+section{margin-top:0}
- .sechead{flex-wrap:wrap;row-gap:6px;margin-bottom:14px}
- .sechead h2{font-size:18px;letter-spacing:-.025em}
- .legend{flex-wrap:wrap;row-gap:5px}
- .panel,.card,.kpi,.strip,.sysc{box-shadow:var(--shadow)}
- .panel{padding:18px}
- .panel>h3{font-size:15px;line-height:1.45;margin-bottom:8px}
- .panel,.grid2>*{min-width:0}
- .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
- .kpi{padding:18px 20px;min-height:108px}
- .kpi::before{top:18px;bottom:18px}
- .kpi b{font-size:29px;line-height:1.1}
- .kpi b small{margin-left:5px;font-size:12px}
- .kpi span{font-size:12px;margin-top:9px;line-height:1.45;max-width:36ch}
- .cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}
- .card{padding:20px 22px 18px}
- .card .head{align-items:start;flex-wrap:wrap;gap:8px}
- .card .unit{font-size:23px;line-height:1.15;white-space:nowrap}
- .card .sys{flex:1;min-width:90px;line-height:1.45}
- .card .head .chip{margin-left:auto}
- .card .evid{margin:12px 0 8px}
- .card .caveat{font-size:12px;line-height:1.65;padding-top:12px}
- .evidence-detail{margin-top:14px;background:#F5F8FA;border:1px solid #E5ECF0;border-radius:7px;padding:9px 12px}
- .evidence-detail summary{cursor:pointer;color:var(--accent-deep);font-size:12px;font-weight:500}
- .card .why{line-height:1.7;margin:10px 0 3px}
- .sysc{padding:16px;gap:12px}
- .sysc[role=button]{cursor:pointer}
- .sysc[role=button]:hover{border-color:#9DBECA;background:#FBFDFE}
- .grid2{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}
- .tblwrap{max-width:100%;border-radius:7px;overscroll-behavior-x:contain}
- th{background:#F4F7F9;font-size:11px;font-weight:600;letter-spacing:.025em;padding:10px 12px}
- td{padding:11px 12px;line-height:1.6}
- tr:hover>td{background:#F7FAFC}
- td.r,th.r{white-space:nowrap}
- .strip{overflow-x:auto;padding:18px}
- .strip .cells,.strip .nums{min-width:850px}
- footer{border-top:1px solid var(--line);padding-top:18px;line-height:1.7;font-size:11px!important}
- .popm{padding:24px;background:rgba(17,35,47,.58);backdrop-filter:blur(3px)}
- .popc{max-width:1240px;padding:0 0 8px;border-radius:16px;box-shadow:0 24px 80px #0E263640}
- .poph{position:sticky;top:-24px;z-index:2;align-items:center;padding:20px 24px;margin:0 0 20px;background:var(--panel);border-radius:16px 16px 0 0;box-shadow:0 2px 8px #17334405}
- .poph h3{font-size:23px;line-height:1.3;letter-spacing:-.025em}
- .poph .btn{flex-shrink:0;min-height:36px;border-color:var(--line);background:var(--ground)}
- .popc>.panel,.popc>p{margin:16px 20px}
- .popc>.panel{padding:20px}
- .popc>.panel>.head{align-items:center!important;margin-bottom:10px;font-size:17px}
- .popc>.panel>.small{max-width:105ch;line-height:1.7}
- .popc .grid2>.panel{padding:16px;box-shadow:none;background:#FBFCFD}
- .order-block{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
- .order-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}
- .order-head>b{font-size:14px}
- .action-counts{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
- .action-count{display:inline-flex;gap:7px;align-items:center;background:var(--wash);color:var(--accent-deep);border:1px solid #D5E7EF;border-radius:5px;padding:3px 8px;font-size:11px}
- .action-count b{font-variant-numeric:tabular-nums;font-weight:600}
- .order-table{table-layout:fixed;min-width:780px}
- .order-table .order-date{width:112px;white-space:nowrap}
- .order-table td{overflow-wrap:anywhere;padding-top:14px;padding-bottom:14px}
- .order-table td.order-date{overflow-wrap:normal;font-size:12px;color:var(--muted)}
- .popup-verbatim-note{color:var(--muted);font-size:11px;line-height:1.7;padding:0 4px}
- .verbatim{border-bottom:1px dotted #B9C6CF}
- @media(min-width:1440px){.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
- @media(max-width:900px){.wrap{padding:0 20px 48px}.brand small{display:block;margin:3px 0 0}.cards{grid-template-columns:1fr}.sechead .legend{margin-left:0;width:100%}.popm{padding:12px}.poph{top:-12px}.systems{grid-template-columns:repeat(2,minmax(0,1fr))}}
- @media(max-width:600px){
- .wrap{padding:0 14px 40px}header.top{flex-wrap:wrap;gap:14px;padding:18px 0}.brand{font-size:20px}header.top .right{margin-left:0;width:100%;gap:8px}header.top select{flex:1;min-width:0}
- nav.tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:5px}nav.tabs button{font-size:11.5px;min-height:36px;text-align:left;padding:8px 10px}
- .page-head{margin:22px 0 14px;align-items:flex-start}.page-head h1{font-size:23px}.window-badge{font-size:10px;padding:4px 7px}
- .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:14px;min-height:116px}.kpi b{font-size:24px}.kpi span{font-size:11px}
- .systems{grid-template-columns:1fr}.panel{padding:14px}.card{padding:16px}.card .head .sys{font-size:12px}.card .unit{font-size:21px}
- .popm{padding:8px}.popc{border-radius:12px}.poph{top:-8px;padding:15px 14px;border-radius:12px 12px 0 0;margin-bottom:12px}.poph h3{font-size:19px}.popc>.panel,.popc>p{margin:12px 10px}.popc>.panel{padding:14px}.popc .grid2>.panel{padding:12px}
- .order-head{gap:8px}.paper{padding:18px 14px}.paper-hd{gap:12px;flex-wrap:wrap}
- }
- @media print{.evidence-detail{display:block}.poph{position:static}nav.tabs,header.top,.page-head .window-badge{display:none!important}.card,.panel,.kpi{box-shadow:none}}
- /* Singapore bay theme: a restrained Marina Bay silhouette, garden canopies, turbines and wind-flow traces. */
- /* 2026-09-06 用户裁: 删末块令牌覆盖, 与门户单文件浅色令牌 (#F5F7F8/#1B2430/#1F6F8B/#DDE3E8) 一致; 基线 detail_style_baseline */
- body{background:radial-gradient(ellipse at 95% 0,rgba(41,201,187,.075),transparent 40%),var(--ground)}
- header.top{position:relative;isolation:isolate;overflow:hidden;min-height:128px;margin:22px 0 12px;padding:28px 30px;border:1px solid #1F526A;border-radius:18px;background:radial-gradient(ellipse at 68% 120%,#08788788,transparent 60%),linear-gradient(115deg,#092438,#103E55);box-shadow:0 10px 32px #0A344416}
- header.top::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.16;background-image:linear-gradient(#73B4C425 1px,transparent 1px),linear-gradient(90deg,#73B4C425 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
- .wind-field{position:absolute;width:420px;height:130px;left:35%;bottom:0;color:#61DBCE;opacity:.4;pointer-events:none;z-index:-1}
- header.top .mark{gap:15px}header.top .mark>svg{width:36px;height:36px;color:#65E1D0;padding:5px;border:1px solid #66CCBE55;border-radius:10px;background:#73E4CE0D}
- header.top .brand{font-size:27px;color:#F4FFFF;letter-spacing:-.035em}
- header.top .brand small{display:block;margin:3px 0 0;font-size:11px;letter-spacing:.035em;color:#B3D6DF}
- header.top .right{position:relative;padding:9px 11px;border:1px solid #759EAD44;border-radius:10px;background:#092A3EBF}
- header.top .right label{color:#B9D7E1}header.top select{background:#153E52;color:#E5FAFF;border-color:#3A6576}
- header.top .toggle{background:#E9F5F7;border-color:#527887}
- nav.tabs{background:#E4EFF2;border-color:#D1E3E8;gap:5px}
- nav.tabs button.on{color:#fff;background:linear-gradient(110deg,#087788,#006975);box-shadow:0 3px 8px #08778820}
- nav.tabs button:hover:not(.on){background:#F7FFFF;color:#00636B}
- .page-head h1{position:relative;padding-left:14px}
- .page-head h1::before{content:"";position:absolute;left:0;top:4px;bottom:2px;width:4px;border-radius:3px;background:linear-gradient(#07949C,#46C7AB)}
- .window-badge{background:#E5F5F3;border-color:#BDDCD8;color:#00636B}
- .kpi{background:linear-gradient(140deg,#fff 65%,#EEF9F8)}
- .evidence-detail{background:#F0F8F9;border-color:#DAECEE}
- .panel,.card,.sysc{border-color:#D7E5EB}.sysc[role=button]:hover{border-color:#69AAA9}
- a:hover{color:#008591}
- :focus-visible{outline-color:#05A2AD;outline-width:3px}
- @media(max-width:900px){header.top{padding:24px;gap:16px}.wind-field{left:34%;width:280px;opacity:.25}}
- @media(max-width:600px){header.top{margin-top:14px;padding:20px 17px;min-height:156px;border-radius:14px;gap:18px}header.top .brand{font-size:25px}header.top .brand small{font-size:10px}header.top .right{padding:8px;width:100%}.wind-field{left:auto;right:-50px;bottom:46px;width:230px;opacity:.22}header.top .mark{gap:12px}}
- @media print{body{background:#fff}.page-head h1::before{display:none}.kpi{background:#fff}a{color:inherit}}
- .source-record{margin-top:5px;font-size:10px;color:var(--muted);font-weight:400;line-height:1.6}
- .source-record summary{cursor:pointer;display:list-item;color:var(--accent-deep)}
- .source-record[open]{background:var(--ground);border:1px solid var(--line);border-radius:6px;padding:7px}
- .source-record>div{margin-top:6px;font-size:12px;overflow-wrap:anywhere}
- /* 返回门户 / 重新选择机组·测点 (2026-09-06 用户裁: 补上再冻结) */
- header.top .right .back-portal,header.top .right .reselect{display:inline-block;margin-right:8px;padding:6px 11px;border:1px solid #759EAD66;border-radius:8px;background:#0E3446;color:#E5FAFF;font-size:12.5px;text-decoration:none;cursor:pointer;line-height:1.3}
- header.top .right .back-portal:hover,header.top .right .reselect:hover{background:#155069;border-color:#9BC6D3}
|