/* Fuuz simulator: a clean-HTML recreation of the Fuuz UI for the website playgrounds.
   Measurements and colors are taken from the live Fuuz app (Oct 2026). Everything is scoped under .fz. */
.fz{--red:#d45757;--red2:#dc7878;--g200:#c8c8c8;--g100:#f2f1f0;--g220:#dcdcdc;--blue:#5db8e6;--green:#5ecc7b;--link:#207cdf;
  --sh1:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);
  --sh2:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);
  --shd:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);
  position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:var(--g200);
  font-family:Roboto,Helvetica,Arial,sans-serif;font-size:13.7143px;letter-spacing:.12864px;color:#000;line-height:1.5;
  -webkit-font-smoothing:antialiased;user-select:none;text-align:left}
.fz *,.fz *::before,.fz *::after{box-sizing:border-box}
.fz :where(h1,h2,h3,h4,h5,h6,p,strong,b,small,label,table,th,td,a,em,i,span,div,ul,li){font-family:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:none;margin:0;padding:0;border:0;background:none;box-shadow:none;text-decoration:none;font-weight:inherit;font-size:inherit;text-align:inherit}
.fz b,.fz strong{font-weight:700}
.fz button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}
.fz input,.fz textarea{font:inherit;letter-spacing:inherit;color:#000;background:transparent;border:0;outline:0;margin:0;padding:0;width:100%}
.fz p,.fz h1,.fz h4,.fz h5,.fz h6{margin:0;font-weight:400}
.fz svg{width:16px;height:16px;fill:currentColor;flex:none;display:block;overflow:visible}
.fz svg .fa-secondary{opacity:.4}
.fz .ic12 svg,.fz svg.ic12{width:12px;height:12px} .fz .ic10 svg{width:10px;height:10px} .fz .ic20 svg{width:20px;height:20px} .fz .ic24 svg{width:24px;height:24px} .fz .ic30 svg{width:30px;height:30px} .fz .ic36 svg{width:36px;height:36px}
[data-act]{cursor:pointer}

/* ---------- chrome ---------- */
.fz-hdr{flex:none;height:48px;display:flex;align-items:center;padding:0 12px;background:var(--red);color:#fff;box-shadow:var(--sh2);position:relative;z-index:3}
.fz-hdr .flogo{width:41px;height:32px;margin-right:15px;display:block}
.fz-hdr h1{font-size:30px;font-weight:300;letter-spacing:-.4686px;line-height:35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fz-hdr .sp{flex:1}
.fz-hdr .srch{display:flex;align-items:center;gap:10px;margin-right:22px}
.fz-hdr .srch span{display:block;width:156px;border-bottom:1px solid rgba(255,255,255,.7);padding:6px 0 4px;color:#fff}
.fz-hdr .bell svg{width:20px;height:20px} .fz-hdr .bell{margin-right:30px}
.fz-hdr .user{font-size:13.76px;line-height:17px;text-align:left;margin-right:8px}
.fz-hdr .av{width:32px;height:32px;border-radius:50%;background:#bdbdbd;color:rgba(0,0,0,.87);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;margin-right:8px}
.fz-hdr .cd svg{width:10px;height:10px}
.fz-crumbs{flex:none;height:28px;display:flex;align-items:center;padding-left:4px;background:var(--red2);color:#fff;box-shadow:var(--sh1);position:relative;z-index:2;font-size:12px;letter-spacing:.12852px}
.fz-crumbs .c{display:flex;align-items:center;padding:0 4px} .fz-crumbs .c svg{width:16px;height:16px} .fz-crumbs .c svg.cv{width:10px;height:10px;margin-left:6px}
.fz-crumbs .c .ic{display:flex;width:24px;justify-content:center} .fz-crumbs .sl{font-size:13.7px;padding:0 1px}
.fz-crumbs .sp{flex:1} .fz-crumbs .r{display:flex;gap:17px;padding-right:8px;opacity:.95}
.fz-body{flex:1;display:flex;min-height:0;position:relative}
.fz-foot{flex:none;height:28px;display:flex;align-items:center;padding-left:4px;background:var(--g100);box-shadow:0 -2px 1px -1px rgba(0,0,0,.2),0 -1px 1px 0 rgba(0,0,0,.14);font-size:12px;color:rgba(0,0,0,.87);position:relative;z-index:2;white-space:nowrap}
.fz-foot .sp{flex:1} .fz-foot .it{display:flex;align-items:center;padding:0 4px;margin-left:10px} .fz-foot .it svg{width:16px;height:16px;margin-right:4px} .fz-foot .it svg.cv{width:10px;height:10px;margin:0 0 0 6px}

/* ---------- tenant navigation ---------- */
.fz-nav{flex:none;width:240px;background:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:1px 0 0 rgba(0,0,0,.08)}
.fz-nav .tn{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 15px;border-bottom:1px solid rgba(0,0,0,.12);min-height:50px}
.fz-nav .tn.r{min-height:39px}
.fz-nav .tn small{display:block;font-size:10.2857px;text-transform:uppercase;letter-spacing:.857px;color:rgba(0,0,0,.85);line-height:15px}
.fz-nav .tn b{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
.fz-nav .chip{font-size:11px;font-weight:600;background:#fb8c00;color:rgba(0,0,0,.87);border-radius:16px;padding:1px 8px;line-height:16px}
.fz-nav .nsec{height:33px;display:flex;align-items:center;justify-content:center;position:relative;background:var(--g200);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.34284px;color:rgba(0,0,0,.85)}
.fz-nav .nsec svg{position:absolute;left:12px;color:rgba(0,0,0,.85)}
.fz-nav .it{height:33px;display:flex;align-items:center;padding:0 12px;gap:12px;position:relative;color:#000}
.fz-nav .it svg{color:rgba(0,0,0,.85)} .fz-nav .it span{flex:1} .fz-nav .it .cv svg{width:12px;height:12px}
.fz-nav .it:hover{background:rgba(0,0,0,.04)}
.fz-nav .it.on::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}

/* ---------- developer home ---------- */
.fz-home{flex:1;overflow:auto;background:var(--g200)}
.fz-home .env{display:flex;align-items:center;background:#fff;padding:6px 6px 6px 10px;min-height:62px;gap:14px}
.fz-home .env .tb svg{width:32px;height:32px}
.fz-home .env h5{font-size:20.5714px;color:rgba(0,0,0,.85);line-height:27px}
.fz-home .env p{font-size:13.7143px} .fz-home .env .sp{flex:1}
.fz-home .env .act{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;color:rgba(0,0,0,.54);letter-spacing:.34284px;border:1px solid rgba(0,0,0,.12);margin-left:6px;line-height:15px;max-width:110px}
.fz-home .env .act svg{color:rgba(0,0,0,.54)}
.fz-home .hgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 14px 0}
.fz-home .m{background:#fff;border-radius:8px;box-shadow:2px 2px 6px #8b5cf6;padding:8px;height:94px;display:flex;flex-direction:column;position:relative}
.fz-home .m strong{font-size:14px;font-weight:500;line-height:15px} .fz-home .m small{font-size:10px;font-weight:500;margin-top:6px;letter-spacing:.2px}
.fz-home .m .ico{position:absolute;right:10px;top:12px} .fz-home .m .ico svg{width:24px;height:24px}
.fz-home .m .v{margin:auto;font-size:29.1429px;line-height:36px;display:flex;gap:12px;letter-spacing:.2142px}
.fz-home .cg{color:#16a34a} .fz-home .co{color:#d97706} .fz-home .cteal{color:#10b981} .fz-home .crd{color:#dc2626}
.fz-home .hcard{margin:16px 14px 0;background:#fff;border-radius:8px;box-shadow:2px 2px 6px #8b5cf6;padding:8px 6px 6px}
.fz-home .hcard>.h{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;padding:0 6px 10px}
.fz-home .hcard>.h svg{width:24px;height:24px}
.fz-home .hrow{display:grid;gap:12px}
.fz-home .gs{display:flex;align-items:center;gap:16px;padding:6px 16px;border-radius:6px;box-shadow:var(--sh1);height:78px}
.fz-home .gs .bx{width:32px;height:32px;border:1px solid rgba(0,0,0,.25);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--link)}
.fz-home .gs strong{display:block;font-size:14px;font-weight:500} .fz-home .gs span{font-size:12px;display:block;line-height:14px;margin-top:4px}
.fz-home .dh{display:flex;align-items:center;gap:20px;padding:6px 16px;border-radius:8px;box-shadow:0 0 1px 1px #8b5cf6;height:78px}
.fz-home .dh svg{width:30px;height:30px} .fz-home .dh strong{display:block;font-size:14px;font-weight:500} .fz-home .dh span{font-size:12px;display:block;line-height:14px;margin-top:4px}
.fz-home .hra{display:flex;align-items:center;gap:16px;padding:8px 14px;border:1px solid #c4b5fd;border-radius:6px;margin:0 6px 8px}
.fz-home .hra .k{width:46px;text-align:center;font-size:9px;color:#666} .fz-home .hra .k svg{width:24px;height:24px;margin:0 auto 2px;color:#666}
.fz-home .hra b{font-weight:400} .fz-home .hra small{display:block;font-size:12px;line-height:15px}

/* ---------- login ---------- */
.fz-login{flex:1;display:flex;justify-content:center;align-items:flex-start;padding-top:100px;background:var(--g200)}
.fz-login .box{width:470px;background:#fff;border-radius:4px;box-shadow:var(--sh2);padding:15px;text-align:center}
.fz-login .box img{width:385px;height:100px;display:block;margin:0 auto 14px}
.fz-login .box .fld{text-align:left;margin-bottom:12px}
.fz-login .rec{display:block;color:var(--link);text-decoration:underline;margin:10px 0}
.fz-login .cp{font-size:13.76px;letter-spacing:.46px;display:flex;align-items:center;justify-content:center;gap:4px}

/* ---------- form controls (MUI standard) ---------- */
.fz-fld{position:relative;padding-top:16px;margin-bottom:10px}
.fz-fld label{position:absolute;top:0;left:0;font-size:13.76px;color:rgba(0,0,0,.85);line-height:14px;white-space:nowrap}
.fz-fld .in{display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.42);min-height:29px;padding:6px 0 7px;position:relative}
.fz-fld .in::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .2s}
.fz-fld.focus label{color:var(--red)} .fz-fld.focus .in::after{transform:scaleX(1)}
.fz-fld .in input{flex:1;min-width:0;padding:0;height:16px;line-height:16px}
.fz-fld .in .x svg,.fz-fld .in .ar svg{width:12px;height:12px;color:rgba(0,0,0,.54)} .fz-fld .in .x,.fz-fld .in .ar{padding:0 4px}
.fz-fld .val{flex:1;min-height:16px;line-height:16px}
.fz-fld .phd{color:rgba(0,0,0,.42)}
.fz-fld .err{font-size:12px;color:var(--red);margin-top:3px}
.fz-sw{display:flex;align-items:center;gap:10px;height:38px;cursor:pointer}
.fz-sw i{position:relative;width:34px;height:14px;border-radius:7px;background:rgba(0,0,0,.38);margin:0 8px 0 4px;flex:none}
.fz-sw i::after{content:"";position:absolute;top:-3px;left:-3px;width:20px;height:20px;border-radius:50%;background:#fafafa;box-shadow:var(--sh1);transition:left .15s}
.fz-sw.on i{background:rgba(212,87,87,.5)} .fz-sw.on i::after{left:17px;background:var(--red)}
.fz-sw span{font-size:13.7143px;color:rgba(0,0,0,.85)}
.fz-ck{width:16px;height:16px;border:2px solid rgba(0,0,0,.54);border-radius:2px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.fz-ck.on{background:#757575;border-color:#757575} .fz-ck.on::after{content:"";width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.fz .fz-btn{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:36px;padding:0 16px;border-radius:4px;background:var(--red);color:#fff;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.34284px;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}
.fz .fz-btn svg{width:20px;height:20px} .fz .fz-btn.gy{background:#9e9e9e;color:rgba(0,0,0,.87)} .fz .fz-btn.sm{height:33px;min-width:44px;padding:0 14px}
.fz .fz-btn.dis{background:rgba(0,0,0,.12);color:rgba(0,0,0,.26);box-shadow:none;cursor:default}

/* ---------- editor (rich text) ---------- */
.fz-rte{margin-bottom:10px}
.fz-rte .lbl{display:flex;align-items:center;font-size:13.7143px;color:rgba(0,0,0,.85);margin-bottom:4px} .fz-rte .lbl .sp{flex:1} .fz-rte .lbl svg{width:14px;height:14px;margin-left:10px;color:rgba(0,0,0,.54)}
.fz-rte .tb{display:flex;align-items:center;gap:8px;background:var(--g100);padding:6px 5px;border-radius:4px 4px 0 0}
.fz-rte .tb b{width:30px;height:28px;border-radius:2px;background:rgba(0,0,0,.04);box-shadow:var(--sh1);display:flex;align-items:center;justify-content:center;font:700 13px Georgia,serif}
.fz-rte .tb .sel{width:92px;height:28px;background:#fafafa;border-radius:2px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:12px}
.fz-rte .tb .sel::after{content:"";border:5px solid transparent;border-top:6px solid #000;margin-top:6px}
.fz-rte .tb .sp{flex:1}
.fz-rte .ct{background:var(--g200);border:2px solid var(--g100);border-top:0;border-radius:0 0 4px 4px;min-height:84px;padding:5px 7px;font-size:12px;line-height:1.35;color:#000}
.fz-code{display:flex;background:#fff;font:12px Consolas,Menlo,monospace;letter-spacing:0;border:1px solid #eee;margin-bottom:12px}
.fz-code .ln{width:40px;color:#0b216f;text-align:center;padding:2px 0;background:#fff;border-right:1px solid #f0f0f0}
.fz-code .cd{flex:1;padding:2px 6px;color:#a31515;min-height:20px;white-space:pre}

/* ---------- application designer ---------- */
.fz-ws{flex:none;width:326px;background:#fff;display:flex;flex-direction:column;border-right:1px solid rgba(0,0,0,.12)}
.fz-ws .h{height:32px;flex:none;display:flex;align-items:center;padding:0 8px;background:var(--g200);box-shadow:var(--sh1);position:relative;z-index:1}
.fz-ws .h h6{flex:1;font-size:13.7143px} .fz-ws .h .i{display:flex;gap:6px;color:rgba(0,0,0,.54)}
.fz-ws .s{background:var(--g100);padding:4px 8px 8px}
.fz-ws .s .in{border-bottom:1px solid rgba(0,0,0,.42);padding:6px 0 7px;color:rgba(0,0,0,.42)}
.fz-ws .f{height:28px;display:flex;align-items:center;padding:0 8px;background:var(--g100);box-shadow:var(--sh1);font-size:12px;gap:8px}
.fz-ws .f span{flex:1} .fz-ws .f svg{width:16px;height:12px} .fz-ws .f .cv svg{width:12px;height:12px}
.fz-ws .tree{flex:1;overflow:auto;padding-top:4px;font-size:12px;letter-spacing:.12852px}
.fz-ws .wn{display:flex;align-items:center;height:26px;padding-right:8px;white-space:nowrap}
.fz-ws .wn:hover{background:rgba(0,0,0,.04)} .fz-ws .wn.sel{background:rgba(212,87,87,.12)}
.fz-ws .wn .tw{width:20px;display:flex;justify-content:center} .fz-ws .wn .tw svg{width:10px;height:10px;transition:transform .15s} .fz-ws .wn.open>.tw svg{transform:rotate(90deg)}
.fz-ws .wn .ti{width:20px;display:flex;justify-content:center;margin-right:4px} .fz-ws .wn .ti svg{width:12px;height:12px}
.fz-ws .wn .tl{flex:1;overflow:hidden;text-overflow:ellipsis} .fz-ws .wn .tc{color:rgba(0,0,0,.85)} .fz-ws .wn .dot{width:8px;height:8px;border-radius:50%;margin-left:6px}
.fz-ws .wn i{font-style:italic}
.fz-ws .lg{height:29px;flex:none;display:flex;align-items:center;padding:0 8px;background:var(--g100);box-shadow:var(--sh1);font-size:10.2857px;text-transform:uppercase;letter-spacing:.857px;justify-content:space-between}
.fz-ws .lg svg{width:12px;height:12px}
.fz-dz{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
.fz-tabs{height:32px;flex:none;display:flex;align-items:stretch;background:#fff}
.fz-tabs .ib{width:30px;display:flex;align-items:center;justify-content:center} .fz-tabs .ib:first-child{margin-left:8px}
.fz-tabs .tab{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 10px;min-width:159px;background:#fff;font-size:12px;letter-spacing:.12852px;box-shadow:inset -1px 0 rgba(0,0,0,.08)}
.fz-tabs .tab.on{background:var(--g200);box-shadow:var(--sh1)} .fz-tabs .tab span{flex:1;white-space:nowrap}
.fz-tabs .tab .dot{width:10px;height:10px;border-radius:50%;background:#000} .fz-tabs .tab .dot.o{background:#ffa726}
.fz-tabs .tab .cl svg{width:10px;height:10px;opacity:.6}
.fz-menu{height:30px;flex:none;display:flex;align-items:center;padding:0 8px;background:var(--g200);box-shadow:var(--sh1);position:relative;z-index:1;font-size:12px;letter-spacing:.12852px}
.fz-menu span{padding:0 12px} .fz-menu .sp{flex:1}
.fz-menu .tl{display:flex;align-items:center;gap:16px;padding-right:12px} .fz-menu .tl .sep{width:1px;height:16px;background:#888;margin-right:4px}
.fz-menu .tl button{opacity:.35;cursor:default} .fz-menu .tl button.en{opacity:1;cursor:pointer}
.fz-menu .tl .trash{color:#f44336} .fz-menu .tl .save{color:#f44336} .fz-menu .tl .dep{color:#43a047}
.fz-menu .as{display:flex;align-items:center;gap:6px;margin-right:16px;font-size:12px} .fz-menu .as i{width:28px;height:12px;border-radius:6px;background:rgba(0,0,0,.38);position:relative} .fz-menu .as i::after{content:"";position:absolute;left:-2px;top:-3px;width:18px;height:18px;border-radius:50%;background:#fafafa;box-shadow:var(--sh1)}
.fz-canvas{flex:1;position:relative;overflow:hidden;background-color:var(--g200);
  background-image:linear-gradient(0deg,transparent 24%,rgba(0,0,0,.05) 25%,rgba(0,0,0,.05) 26%,transparent 27%,transparent 74%,rgba(0,0,0,.05) 75%,rgba(0,0,0,.05) 76%,transparent 77%),linear-gradient(90deg,transparent 24%,rgba(0,0,0,.05) 25%,rgba(0,0,0,.05) 26%,transparent 27%,transparent 74%,rgba(0,0,0,.05) 75%,rgba(0,0,0,.05) 76%,transparent 77%);
  background-size:50px 50px}
.fz-canvas svg.links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.fz-canvas svg.links path{fill:none;stroke:#555;stroke-width:2}
.fz-canvas svg.links path.drawing{stroke-dasharray:6 5;animation:fzdash .6s linear infinite} @keyframes fzdash{to{stroke-dashoffset:-22}}
.fz-node{position:absolute;min-width:260px;background:var(--blue);border:2px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:var(--sh1);color:#fff;font-size:12px;letter-spacing:.12852px;transition:background .5s}
.fz-node.dep{background:var(--green)}
.fz-node .nh{height:26px;display:flex;align-items:center;gap:6px;padding:1px 4px 1px 6px;background:rgba(0,0,0,.3);border-radius:3px 3px 0 0;margin:2px 2px 0}
.fz-node .nh .nm{flex:1;white-space:nowrap} .fz-node .nh .nm em{font-style:normal;margin-left:4px}
.fz-node .nh .cv svg{width:12px;height:12px}
.fz-node .nb{width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:4px;color:#f44336}
.fz-node .nb svg{width:16px;height:16px} .fz-node .nb.sv{color:#f44336} .fz-node .nb.dp{color:#43a047} .fz-node .nb.off{opacity:.35;cursor:default}
.fz-node .cn{position:absolute;right:-9px;width:16px;height:16px;border:2px solid #fff;border-radius:4px;background:#afafaf}
.fz-node .cn.h{background:#666362;top:5px} .fz-node .cn.l{left:-9px;right:auto}
.fz-node .rows{padding:0 10px 2px 8px}
.fz-node .rw{position:relative;height:17px;display:flex;align-items:center;gap:6px;white-space:nowrap;border-radius:2px}
.fz-node .rw .k{flex:1;cursor:pointer} .fz-node .rw .ty{text-align:right} .fz-node .rw .a{width:10px;display:flex;justify-content:center} .fz-node .rw .a svg{width:10px;height:10px}
.fz-node .rw .ty.lnk{text-decoration:underline} .fz-node .rw.sel{background:rgba(0,0,0,.25);margin:0 -6px;padding:0 6px}
.fz-node .rw.new{animation:fznew .9s ease} @keyframes fznew{from{background:rgba(255,255,255,.55)}to{background:transparent}}
.fz-node .nf{display:flex;align-items:center;height:20px;border-top:1px solid rgba(255,255,255,.35);margin-top:2px}
.fz-node .nf input{color:#fff;font-size:12px;height:16px} .fz-node .nf input::placeholder{color:rgba(255,255,255,.65)} .fz-node .nf b{font-weight:400;font-size:16px;line-height:16px;opacity:.85}
.fz-rail{flex:none;width:16px;background:var(--g220);box-shadow:var(--sh1);display:flex;align-items:center;justify-content:center;color:#000}
.fz-ptabs{flex:none;width:150px;background:#fff;border-left:1px solid rgba(0,0,0,.12);padding-top:9px}
.fz-ptabs .pt{display:block;padding:8px 16px;font-size:13.7143px;color:#000} .fz-ptabs .pt.dis{color:rgba(0,0,0,.38)} .fz-ptabs .pt.on{background:rgba(0,0,0,.08)}
.fz-ptabs .sub{margin-left:21px;border-left:1px solid #000} .fz-ptabs .sub .pt{padding:7px 16px}
.fz-panel{flex:none;width:400px;background:#fff;display:flex;flex-direction:column;box-shadow:var(--sh1);overflow:hidden}
.fz-panel .ph{flex:none;background:var(--g200);box-shadow:var(--sh1);padding:8px;min-height:52px;position:relative;z-index:1}
.fz-panel .ph h6{font-size:13.7143px;line-height:24px} .fz-panel .ph .ml{color:var(--link);font-size:12px;text-decoration:underline} .fz-panel .ph .ed{font-size:12px;margin-top:2px;padding-left:4px}
.fz-panel .ph .big{position:absolute;right:10px;top:12px} .fz-panel .ph .big svg{width:30px;height:30px}
.fz-panel .pb{flex:1;overflow:auto}
.fz-acc>.ah{display:flex;align-items:center;height:37px;padding:0 8px;background:var(--g200);box-shadow:var(--sh1);font-size:13.7143px;cursor:pointer;margin-top:2px}
.fz-acc>.ah span{flex:1} .fz-acc>.ah svg{width:12px;height:12px;transition:transform .15s} .fz-acc.open>.ah svg{transform:rotate(180deg)}
.fz-acc>.ac{padding:8px 8px 4px;display:none} .fz-acc.open>.ac{display:block}
.fz-tool{display:flex;align-items:center;height:29px;margin:4px;border:2px solid rgba(0,0,0,.3);border-radius:5px;background:rgba(0,0,0,.3);box-shadow:var(--sh1);color:#fff;font-size:12px;padding:0 4px;letter-spacing:.12852px}
.fz-tool span{flex:1;padding-left:2px} .fz-tool svg{width:12px;height:12px}
.fz-tool:hover{background:rgba(0,0,0,.4)}
.fz-tgrp{display:flex;align-items:center;height:38px;padding:0 8px;background:var(--g200);box-shadow:var(--sh1);font-size:13.7143px;margin-top:4px}
.fz-tgrp span{flex:1} .fz-tgrp svg{width:12px;height:12px;transform:rotate(180deg)}

/* ---------- dialogs, menus, toasts ---------- */
.fz-veil{position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:20;display:flex;align-items:center;justify-content:center}
.fz-dlg{background:#fff;border-radius:4px;box-shadow:var(--shd);width:600px;max-height:calc(100% - 64px);display:flex;flex-direction:column}
.fz-dlg .dt{padding:16px 24px 6px;font-size:16px;font-weight:500;letter-spacing:.15px;line-height:1.6}
.fz-dlg .dc{padding:8px 24px;overflow:auto;flex:1}
.fz-dlg .da{display:flex;justify-content:flex-end;gap:10px;padding:8px 16px 12px}
.fz-dlg .hint{display:flex;gap:10px;font-size:13.7143px;color:rgba(0,0,0,.85);margin:6px 0 14px} .fz-dlg .hint svg{width:8px;height:12px;margin-top:4px}
.fz-dlg .ckr{display:flex;align-items:center;gap:12px;margin:10px 0 4px;font-size:13.7143px}
.fz-pop{position:absolute;background:#fff;box-shadow:var(--sh2);border-radius:4px;z-index:30;overflow:hidden;font-size:12px}
.fz-pop table{border-collapse:collapse;width:100%} .fz-pop th{text-align:left;font-weight:500;padding:6px 10px;border-bottom:1px solid #e0e0e0}
.fz-pop td{padding:7px 10px;vertical-align:top;color:#000} .fz-pop td:first-child{white-space:nowrap;color:#444}
.fz-pop tr.o:hover td,.fz-pop tr.o.hi td{background:rgba(0,0,0,.06)} .fz-pop tr.o{cursor:pointer}
.fz-pop .li{padding:4px 10px;cursor:pointer;font-size:12px;color:#555} .fz-pop .li:hover,.fz-pop .li.hi{background:rgba(0,0,0,.08);color:#000}
.fz-pop .pmore{padding:8px 10px;color:var(--link);text-decoration:underline}
.fz-toast{position:absolute;right:16px;bottom:40px;z-index:40;display:flex;align-items:center;gap:14px;background:#4caf50;color:#fff;border-radius:4px;padding:10px 14px 10px 16px;box-shadow:var(--sh2);font-size:13.7px;animation:fzin .25s ease}
.fz-toast.er{background:var(--red)} .fz-toast svg{width:16px;height:16px} @keyframes fzin{from{transform:translateY(10px);opacity:0}}
.fz-spin{width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:fzsp .8s linear infinite} @keyframes fzsp{to{transform:rotate(360deg)}}

/* ---------- new tab picker ---------- */
.fz-pick{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#d2d1d6;padding:20px;overflow:auto}
.fz-pick h2{font-size:29.1429px;font-weight:400;text-align:center;line-height:36px;margin:0 0 10px;letter-spacing:.2142px}
.fz-pick h3{font-size:20.5714px;font-weight:400;margin:22px 0 10px}
.fz-pick .r{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.fz-pick .big{width:250px;height:190px;border-radius:4px;background:var(--g200);display:flex;flex-direction:column;align-items:center;padding:24px 8px 8px;text-align:center}
.fz-pick .big svg{width:36px;height:36px} .fz-pick .big b{font-weight:400;font-size:20.5714px;margin:16px 0 10px} .fz-pick .big span{font-size:13.7143px;color:rgba(0,0,0,.85);line-height:1.5}
.fz-pick .big:hover{background:#bdbdbd}
.fz-pick .sm{width:250px;height:140px;border-radius:4px;background:var(--g100);border:2px solid var(--g200);display:flex;flex-direction:column;align-items:center;padding:16px 10px 8px;text-align:center}
.fz-pick .sm svg{width:30px;height:30px} .fz-pick .sm b{font-weight:500;font-size:17.1429px;margin:8px 0 6px} .fz-pick .sm span{font-size:13.7143px;color:rgba(0,0,0,.85);line-height:1.5}

/* ---------- screen designer ---------- */
.fz-sdc{flex:1;position:relative;overflow:auto;background:#d2d1d6;padding:10px}
.fz-sdc .empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:23px;text-align:center;line-height:1.4}
.fz-sdc .empty a{color:var(--link);text-decoration:underline}
.fz-sdc .tpls{display:flex;gap:10px;margin-top:6px}
.fz-sdc .tpl{width:153px;height:117px;background:#ccc;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:16px;position:relative;overflow:hidden;box-shadow:var(--sh1)}
.fz-sdc .tpl i{position:absolute;inset:0;background:#fff;opacity:.85} .fz-sdc .tpl i::before{content:"";position:absolute;left:6px;right:6px;top:8px;height:10px;background:linear-gradient(90deg,#5d8fd0 0 14px,transparent 14px 18px,#5d8fd0 18px 32px,transparent 32px 36px,#d45757 36px 50px,transparent 0)} .fz-sdc .tpl i::after{content:"";position:absolute;left:6px;right:6px;top:26px;bottom:6px;background:repeating-linear-gradient(#eee 0 8px,#fff 8px 12px)}
.fz-sdc .tpl b{position:relative;font-weight:400}
.fz-scr{background:#fff;min-height:100%;border:2px dashed #bbb;padding:6px;display:flex;flex-direction:column;gap:6px}
.fz-scr .box{border:2px dashed #ccc;padding:8px 10px}
.fz-scr .flt{display:grid;grid-template-columns:repeat(5,1fr);gap:4px 20px}
.fz-scr .flt .fz-fld .in{border-color:rgba(0,0,0,.2)} .fz-scr .flt .fz-fld label{color:rgba(0,0,0,.4);top:21px;font-size:13px} .fz-scr .flt .fz-fld{margin-bottom:0}
.fz-scr .fb{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:6px} .fz-scr .fb .r{border:1px solid #ddd;display:flex;align-items:center;gap:8px;padding:6px 8px;flex:1}
.fz-scr .fb .r b{font-weight:500} .fz-scr .chipb{background:var(--red);color:#fff;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:500} .fz-scr .chipg{background:#9e9e9e;color:#fff;border-radius:3px;padding:2px 8px;font-size:10px}
.fz-acts{display:flex;gap:12px;padding:6px}
.fz-acts .fz-btn{min-width:64px;padding:0} .fz-acts .fz-btn svg{width:18px;height:18px}
.fz-grid{flex:1;display:flex;flex-direction:column;border:1px solid #bdc3c7;background:#f1f1f1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:12px;letter-spacing:0;min-height:200px}
.fz-grid .gh{display:flex;height:33px;background:#fff;border-bottom:1px solid #bdc3c7;flex:none}
.fz-grid .gh div{flex:1;display:flex;align-items:center;padding:0 12px;font-weight:500;color:rgba(0,0,0,.7);border-right:1px solid #e3e5e7;white-space:nowrap;overflow:hidden}
.fz-grid .gh div.num,.fz-grid .gr div.num{justify-content:flex-end;text-align:right}
.fz-grid .gb{flex:1;overflow:auto;position:relative}
.fz-grid .gr{display:flex;height:28px;border-bottom:1px solid #d9dcde;background:#fff} .fz-grid .gr:nth-child(odd){background:#f1f1f1}
.fz-grid .gr:hover{background:#ecf0f1}
.fz-grid .gr div{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;white-space:nowrap;overflow:hidden;font-family:Roboto,sans-serif}
.fz-grid .gr .fz-ck{width:16px;height:16px;border:1px solid #95a5a6;border-radius:3px}
.fz-grid .none{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#000}
.fz-grid .gf{height:30px;flex:none;display:flex;align-items:center;padding:0 12px;background:#fff;border-top:1px solid #bdc3c7;color:rgba(0,0,0,.54)} .fz-grid .gf b{color:#000;font-weight:400;margin-left:4px}
.fz-pal{flex:none;width:240px;background:#fff;display:flex;flex-direction:column;box-shadow:var(--sh1);overflow:hidden}
.fz-pal .ph{background:var(--g200);padding:6px 8px;position:relative;min-height:46px} .fz-pal .ph h6{font-size:13.7143px;line-height:18px} .fz-pal .ph small{font-size:10.5px;color:rgba(0,0,0,.85);display:block;line-height:12px;padding-right:30px}
.fz-pal .ph .big{position:absolute;right:8px;top:8px} .fz-pal .ph .big svg{width:24px;height:24px}
.fz-pal .se{padding:4px 8px 8px} .fz-pal .se div{border-bottom:1px solid rgba(0,0,0,.42);padding:5px 0;color:rgba(0,0,0,.42);font-size:12px}
.fz-pal .pb{flex:1;overflow:auto}
.fz-pal .gt{display:flex;align-items:center;height:30px;padding:0 8px;background:var(--g200);font-size:13.7143px;margin-top:2px} .fz-pal .gt span{flex:1} .fz-pal .gt svg{width:12px;height:12px;transform:rotate(180deg)}
.fz-pal .gi{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 2px}
.fz-pal .el{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0 8px;font-size:11px;text-align:center;line-height:12px}
.fz-pal .el svg{width:15px;height:15px} .fz-pal .el.l svg{color:#3f51b5} .fz-pal .el.d svg{color:#7e57c2} .fz-pal .el.i svg{color:#43a047}
.fz-ptabs.sd .pt{padding:7px 16px}
.fz-wz .fl{border:1px solid #eee;border-radius:2px;background:#fafafa;margin:2px 0 10px}
.fz-wz .fl .fh{display:flex;align-items:center;padding:8px;font-size:13px;border-bottom:1px solid #eee} .fz-wz .fl .fh span{flex:1} .fz-wz .fl .fh i{font-style:normal;color:rgba(0,0,0,.42);border-bottom:1px solid rgba(0,0,0,.42);width:150px;padding:3px 0;font-size:12px}
.fz-wz .fl .fa{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:12px}
.fz-wz .fl .fr{display:flex;align-items:center;gap:8px;height:20px;padding:0 10px 0 26px;font-size:12px;cursor:pointer}
.fz-wz .fl .fr:hover{background:rgba(0,0,0,.04)} .fz-wz .fl .fr span{flex:1;text-decoration:underline;text-decoration-color:#90caf9} .fz-wz .fl .fr em{font-style:normal;color:#333}
.fz-wz .fl .lst{max-height:200px;overflow:auto;padding:4px 0}
.fz-wz .tg{display:flex;flex-direction:column;gap:0}

/* ---------- run screen ---------- */
.fz-run{flex:1;display:flex;flex-direction:column;padding:16px 16px 16px;gap:2px;overflow:hidden;min-width:0}
.fz-run .ff{background:#fff;padding:8px 16px;display:grid;grid-template-columns:repeat(6,1fr);gap:0 24px}
.fz-run .ff .fz-fld{margin-bottom:6px}
.fz-run .ab{background:#fff;padding:6px;display:flex;gap:12px}
.fz-run .fz-grid{background:#f1f1f1}

/* ---------- MES app screens (shared by operator and engineer playgrounds): mx- ---------- */
.fz .mx-page{flex:1;min-width:0;display:flex;flex-direction:column;background:#f4f4f4;position:relative;overflow:hidden;font-size:12.5px;letter-spacing:.1px}
.fz .mx-scroll{flex:1;min-height:0;overflow:auto}
.fz .mx-wrap{width:1172px;margin:0 auto}
.fz .mx-ic svg,.fz svg.mx-ic{width:16px;height:16px;flex:none}
.fz .mx-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border:1px solid #cfcfcf;border-radius:4px;background:#fff;color:#333;font-size:11px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.fz .mx-btn svg{width:15px;height:15px}
.fz .mx-btn.p{background:#c4393b;border-color:#c4393b;color:#fff}
.fz .mx-btn.g{background:#2e7d32;border-color:#2e7d32;color:#fff}
.fz .mx-btn.gl{border-color:#2e7d32;color:#2e7d32}
.fz .mx-btn.rl{border-color:#c4393b;color:#c4393b;border-width:2px}
.fz .mx-btn.dis{background:#e3e3e3;border-color:#e3e3e3;color:#a7a7a7;cursor:default}
.fz .mx-btn.lg{height:40px;padding:0 18px}
.fz .mx-btn.blk{display:flex;width:100%}
.fz .mx-card{background:#fff;border:1px solid #e3e3e3;border-radius:5px}
.fz .mx-pill{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:10px;font-size:10.5px;font-weight:500;color:#fff;background:#757575;white-space:nowrap}
.fz .mx-pill.run{background:#2e7d32} .fz .mx-pill.chg{background:#a76a10} .fz .mx-pill.stp{background:#c4393b} .fz .mx-pill.oth{background:#fff;color:#444;border:1px solid #bbb}
.fz .mx-pill.rel{background:#2e7d32} .fz .mx-pill.drf{background:#9e9e9e} .fz .mx-pill.val{background:#1976d2} .fz .mx-pill.uv{background:#ef8f00}
.fz .mx-tag{display:inline-flex;align-items:center;white-space:nowrap;height:18px;padding:0 6px;border:1px solid #bbb;border-radius:9px;font-size:9.5px;color:#333;background:#fff}
.fz .mx-tag.b{border-color:#64a7e6;color:#1565c0}
.fz .mx-muted{color:#6b6b6b} .fz .mx-k{font-size:9.5px;letter-spacing:.6px;text-transform:uppercase;color:#777}
.fz .mx-veil{position:absolute;inset:0;background:rgba(0,0,0,.42);z-index:20;display:flex;align-items:center;justify-content:center}
.fz .mx-dlg{background:#fff;border-radius:6px;box-shadow:var(--shd);width:600px;max-height:calc(100% - 60px);display:flex;flex-direction:column;overflow:hidden}
.fz .mx-dlg .dh{display:flex;gap:12px;align-items:flex-start;padding:14px 16px 12px;border-bottom:1px solid #eee}
.fz .mx-dlg .dh h3{font-size:15px;font-weight:500;color:#222} .fz .mx-dlg .dh p{font-size:11px;color:#666}
.fz .mx-dlg .dh .bx{width:30px;height:30px;border-radius:5px;background:#fbe3e3;color:#c4393b;display:flex;align-items:center;justify-content:center} .fz .mx-dlg .dh .bx svg{width:17px;height:17px}
.fz .mx-dlg .db{padding:14px 16px;background:#f6f6f6;overflow:auto;flex:1}
.fz .mx-dlg .df{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #eee} .fz .mx-dlg .df .sp{flex:1}
.fz .mx-in{display:block;border:1px solid #c9c9c9;border-radius:4px;background:#fff;padding:6px 10px 7px;min-height:40px;position:relative;cursor:text}
.fz .mx-in label{display:block;font-size:10px;color:#777;line-height:1.2}
.fz .mx-in .v{display:block;font-size:13px;color:#222;min-height:18px}
.fz .mx-in .v.ph{color:#9a9a9a}
.fz .mx-in.f{border-color:#c4393b;box-shadow:0 0 0 1px #c4393b} .fz .mx-in.f label{color:#c4393b}
.fz .mx-in.f .v:not(.ph)::after{content:'';display:inline-block;width:1px;height:14px;background:#222;margin-left:1px;vertical-align:-2px;animation:mxblink 1s steps(1) infinite}
@keyframes mxblink{50%{opacity:0}}
.fz .mx-help{font-size:10.5px;color:#777;margin:3px 0 10px 2px}
.fz .mx-toast{position:absolute;left:50%;bottom:66px;transform:translateX(-50%);z-index:40;background:#323232;color:#fff;border-radius:4px;padding:10px 16px;font-size:12.5px;box-shadow:var(--sh2);animation:fzin .25s ease;white-space:nowrap}

/* ---------- Coil Line operator panel: cl- ---------- */
.fz .cl-top{background:#fff;border-bottom:1px solid #e6e6e6;padding:8px 0 10px}
.fz .cl-tr{display:flex;align-items:center;gap:8px}
.fz .cl-sq{width:32px;height:32px;border:1px solid #d5d5d5;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#555;background:#fff} .fz .cl-sq svg{width:15px;height:15px}
.fz .cl-tr h2{font-size:22px;font-weight:400;color:#222;margin:0 4px}
.fz .cl-st{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:4px;background:#ececec;color:#333;font-size:12.5px}
.fz .cl-st svg{width:14px;height:14px} .fz .cl-st.run{background:#2e7d32;color:#fff} .fz .cl-st.stp{background:#c4393b;color:#fff}
.fz .cl-tr .sp{flex:1}
.fz .cl-tags{display:flex;gap:5px;align-items:center;margin:6px 0 9px;font-size:10px;color:#777}
.fz .cl-info{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e3e3e3;border-radius:5px;background:#fafafa}
.fz .cl-info>div{display:flex;gap:10px;padding:8px 10px;border-left:1px solid #e6e6e6;min-height:52px} .fz .cl-info>div:first-child{border-left:0}
.fz .cl-info svg{width:14px;height:14px;color:#666;margin-top:1px} .fz .cl-info b{display:block;font-weight:400;color:#222;font-size:12px} .fz .cl-info small{display:block;color:#666;font-size:11px}
.fz .cl-bar2{height:3px;background:#e2e2e2;width:134px;margin-top:3px;border-radius:2px;overflow:hidden} .fz .cl-bar2 i{display:block;height:100%;background:#d0393b}
.fz .cl-steps{display:flex;align-items:center;margin:12px 0 10px}
.fz .cl-s{display:flex;align-items:center;gap:7px;padding:3px 7px;border-radius:5px;border:2px solid transparent;white-space:nowrap}
.fz .cl-s .n{width:18px;height:18px;border-radius:50%;border:1px solid #9e9e9e;font-size:9.5px;color:#555;display:flex;align-items:center;justify-content:center;background:#fff}
.fz .cl-s.ok .n{background:#e3f2e3;border-color:#a5d6a7;color:#2e7d32} .fz .cl-s.ok .n svg{width:11px;height:11px}
.fz .cl-s.on{border-color:#c4393b;background:#fff} .fz .cl-s.on .n{background:#c4393b;border-color:#c4393b;color:#fff}
.fz .cl-s.bad{border-color:#a76a10;background:#fff} .fz .cl-s.bad .n{background:#a76a10;border-color:#a76a10;color:#fff}
.fz .cl-s b{display:block;font-size:11px;font-weight:400;color:#333;line-height:1.15} .fz .cl-s.on b{font-weight:700} .fz .cl-s small{display:block;font-size:9.5px;color:#777;line-height:1.15}
.fz .cl-ln{flex:1;height:1px;background:#cfcfcf;margin:0 4px} .fz .cl-ln.ok{background:#66bb6a;height:2px}
.fz .cl-alert{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;background:#fdecec;color:#7a1d1d;font-size:11.5px;margin-bottom:10px} .fz .cl-alert svg{width:14px;height:14px;color:#c4393b}
.fz .cl-alert.w{background:#fff6e6;color:#6d4a0b} .fz .cl-alert.w svg{color:#a76a10}
.fz .cl-grid{display:grid;grid-template-columns:1fr 266px;gap:12px;align-items:start;padding-bottom:16px}
.fz .cl-main{padding:12px 12px 14px}
.fz .cl-mh{display:flex;gap:10px;margin-bottom:12px}
.fz .cl-mh .bx{width:28px;height:28px;border-radius:5px;background:#e6eefb;color:#3c6fd1;display:flex;align-items:center;justify-content:center;flex:none} .fz .cl-mh .bx svg{width:16px;height:16px}
.fz .cl-mh .bx.r{background:#fde5e5;color:#c4393b} .fz .cl-mh .bx.g{background:#e3f2e3;color:#2e7d32} .fz .cl-mh .bx.o{background:#f6eadb;color:#a76a10}
.fz .cl-mh h3{font-size:17px;font-weight:400;color:#222;line-height:1.25} .fz .cl-mh p{font-size:11.5px;color:#555}
.fz .cl-row{display:flex;align-items:center;gap:12px;border:1px solid #e5b3b3;border-radius:5px;padding:9px 10px}
.fz .cl-row .bx{width:30px;height:30px;border-radius:4px;background:#fbe3e3;color:#c4393b;display:flex;align-items:center;justify-content:center} .fz .cl-row .bx svg{width:16px;height:16px}
.fz .cl-row b{display:block;font-weight:400;color:#222} .fz .cl-row small{display:block;font-size:10.5px;color:#666} .fz .cl-row .sp{flex:1}
.fz .cl-job{border:1px solid #e3e3e3;border-radius:5px;margin-top:6px}
.fz .cl-job>div{display:flex;align-items:center;gap:12px;padding:9px 10px;border-top:1px solid #eee} .fz .cl-job>div:first-child{border-top:0}
.fz .cl-job b{font-weight:500;width:90px} .fz .cl-job .sp{flex:1}
.fz .cl-run{display:flex;align-items:center;gap:18px;margin:4px 0 10px}
.fz .cl-ring{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(closest-side,#fff 80%,transparent 81% 100%),conic-gradient(#d0393b var(--p),#e4e4e4 0)}
.fz .cl-ring b{font-size:16px;font-weight:400;line-height:1} .fz .cl-ring small{font-size:9px;color:#777}
.fz .cl-big{font-size:34px;font-weight:300;color:#222;line-height:1.1} .fz .cl-big span{color:#999}
.fz .cl-kpis{display:flex;gap:6px;margin-left:auto}
.fz .cl-kpis div{border:1px solid #e3e3e3;border-radius:4px;padding:5px 9px;min-width:66px;background:#fafafa} .fz .cl-kpis b{display:block;font-size:20px;font-weight:400;line-height:1.2} .fz .cl-kpis .r b{color:#c4393b}
.fz .cl-tbl{width:100%;border:1px solid #e3e3e3;border-collapse:collapse;font-size:11px;margin-top:4px}
.fz .cl-tbl th{font-weight:400;color:#777;text-align:left;padding:5px 8px;border-bottom:1px solid #e3e3e3} .fz .cl-tbl td{padding:5px 8px;border-bottom:1px solid #eee} .fz .cl-tbl .n{text-align:right}
.fz .cl-tbl tr.on td{background:#fbeaea}
.fz .cl-rsn{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 10px}
.fz .cl-rsn div{border:1px solid #d9d9d9;border-radius:4px;padding:6px 8px;background:#fff;cursor:pointer;display:flex;gap:7px;align-items:flex-start}
.fz .cl-rsn b{display:block;font-weight:400;color:#222;font-size:11.5px} .fz .cl-rsn small{display:block;font-size:9.5px;color:#777}
.fz .cl-rsn div.on{border:2px solid #b23a3a;background:#fbeaea;padding:5px 7px} .fz .cl-rsn div.on svg{width:15px;height:15px;color:#fff;background:#b23a3a;border-radius:50%;padding:2px;flex:none}
.fz .cl-swr{display:flex;align-items:center;gap:9px;margin:4px 0 10px;cursor:pointer}
.fz .cl-sw{width:30px;height:16px;border-radius:8px;background:#bdbdbd;position:relative} .fz .cl-sw i{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s} .fz .cl-sw.on{background:#c4393b} .fz .cl-sw.on i{left:16px}
.fz .cl-side{display:flex;flex-direction:column;gap:12px}
.fz .cl-side .mx-card{padding:12px}
.fz .cl-side h4{font-size:15px;font-weight:500;color:#222;margin-bottom:6px}
.fz .cl-ok{background:#ecf6ec;border-radius:4px;padding:8px 10px;margin:8px 0 10px;display:flex;gap:8px;font-size:11px;color:#2c4b2c} .fz .cl-ok svg{width:14px;height:14px;color:#2e7d32;margin-top:1px}
.fz .cl-ins{border-left:3px solid #1e88e5 !important}
.fz .cl-ins .it{border:1px solid #e3e3e3;border-radius:4px;padding:7px 8px;margin-top:7px} .fz .cl-ins .it.f{border-color:#64a7e6;box-shadow:0 0 0 1px #64a7e6}
.fz .cl-ins .it b{font-weight:400;color:#222;font-size:12px} .fz .cl-ins .it small{display:block;font-size:9.5px;color:#777;margin-bottom:5px}
.fz .cl-ins .it.done{background:#f3f8f3} .fz .cl-ins .it.done b{color:#2e7d32}
.fz .cl-foot{position:relative;flex:none;background:#fff;border-top:1px solid #e3e3e3;padding:9px 0;z-index:5}
.fz .cl-foot .mx-wrap{display:flex;gap:6px} .fz .cl-foot .sp{flex:1}
.fz .cl-home{padding-top:22px}
.fz .cl-pick{width:560px;margin:0 auto;padding:14px 16px 16px}
.fz .cl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:6px}
.fz .cl-lc{border:1px solid #d6d6d6;border-left:3px solid #9e9e9e;border-radius:4px;padding:6px 8px;cursor:pointer;background:#fff}
.fz .cl-lc b{font-weight:700;color:#222;margin-right:6px} .fz .cl-lc small{display:block;font-size:9.5px;color:#666} .fz .cl-lc em{display:block;font-style:normal;font-size:9.5px;color:#a76a10}
.fz .cl-lc.chg{border-color:#a76a10;border-width:1px 1px 1px 3px;background:#fffaf2} .fz .cl-lc.run{border-left-color:#2e7d32}
.fz .cl-tasks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}
.fz .cl-tasks div{display:flex;align-items:center;gap:8px;border:1px solid #e3e3e3;border-radius:4px;padding:8px;color:#444;font-size:11.5px} .fz .cl-tasks svg{width:15px;height:15px;color:#777}
.fz .cl-chk .q{background:#fff;border:1px solid #e3e3e3;border-radius:5px;padding:10px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.fz .cl-chk .q .t{flex:1} .fz .cl-chk .q b{display:block;font-weight:400;color:#222} .fz .cl-chk .q small{color:#777;font-size:10px}
.fz .cl-chk .mx-btn.on.pa{background:#2e7d32;border-color:#2e7d32;color:#fff} .fz .cl-chk .mx-btn.on.fa{background:#c4393b;border-color:#c4393b;color:#fff}
.fz .cl-and{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fz .cl-and div{border:1px solid #d9d9d9;border-radius:5px;padding:8px 10px 8px 14px;position:relative;background:#fff;cursor:pointer}
.fz .cl-and div::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--c)}
.fz .cl-and div.on{border:2px solid #b23a3a;background:#fbeaea;padding:7px 9px 7px 13px}
.fz .cl-and b{display:block;font-weight:400;font-size:13px;color:#222} .fz .cl-and small{display:block;font-size:10.5px;color:#666}
.fz .cl-evt{position:absolute;top:0;right:0;bottom:0;width:364px;background:#fff;box-shadow:-4px 0 14px rgba(0,0,0,.12);z-index:15;display:flex;flex-direction:column}
.fz .cl-evt .eh{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #eee} .fz .cl-evt .eh .sp{flex:1}
.fz .cl-evt .eb{padding:12px;overflow:auto;flex:1}
.fz .cl-evt .ev{border:1px solid #e3e3e3;border-left:3px solid #ef8f00;border-radius:4px;padding:8px 10px;margin-top:8px}
.fz .cl-evt .ev b{font-weight:500;color:#222} .fz .cl-evt .ev small{display:block;color:#666;font-size:10.5px;margin:2px 0 7px}
.fz .cl-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.fz .cl-sum div{border:1px solid #e3e3e3;border-radius:4px;padding:8px 10px;background:#fafafa} .fz .cl-sum b{display:block;font-size:22px;font-weight:400}

/* ---------- Process engineer: home and Strategy Designer: pe- ---------- */
.fz .pe-home{padding:18px 24px}
.fz .pe-hd{display:flex;align-items:flex-end;gap:14px;margin-bottom:14px}
.fz .pe-chip{display:inline-block;font-size:10px;letter-spacing:.8px;font-weight:500;color:#c4393b;background:#fbe3e3;border-radius:3px;padding:2px 7px;margin-bottom:4px}
.fz .pe-hd h2{font-size:22px;font-weight:400;color:#222} .fz .pe-hd p{color:#666}
.fz .pe-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.fz .pe-stat{padding:12px 14px;display:flex;align-items:center;gap:12px} .fz .pe-stat .bx{width:38px;height:38px;border-radius:8px;background:#fbe3e3;color:#c4393b;display:flex;align-items:center;justify-content:center} .fz .pe-stat .bx svg{width:20px;height:20px}
.fz .pe-stat b{display:block;font-size:24px;font-weight:400;line-height:1.1} .fz .pe-stat small{color:#666;font-size:11px}
.fz .pe-gl{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:12px;margin-bottom:14px}
.fz .pe-gl .mx-card{padding:12px 14px;min-height:220px} .fz .pe-gl h4{font-size:13px;font-weight:500;margin-bottom:10px}
.fz .pe-donut{width:130px;height:130px;border-radius:50%;background:radial-gradient(closest-side,#fff 62%,transparent 63% 100%),conic-gradient(#2e7d32 0 54.5%,#9e9e9e 0 86.4%,#1976d2 0);display:flex;align-items:center;justify-content:center;flex-direction:column}
.fz .pe-donut b{font-size:22px;font-weight:400;line-height:1} .fz .pe-donut small{font-size:10px;color:#777}
.fz .pe-leg{display:flex;flex-direction:column;gap:6px;font-size:11.5px} .fz .pe-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.fz .pe-bars{display:flex;align-items:flex-end;gap:12px;height:150px;padding-top:6px;border-bottom:1px solid #ddd}
.fz .pe-bars div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-size:10px;color:#666}
.fz .pe-bars div i{display:block;width:70%;background:#d0393b;border-radius:3px 3px 0 0;margin-bottom:4px} .fz .pe-bars div span{position:relative;top:16px}
.fz .pe-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:160px;color:#888;text-align:center;gap:6px} .fz .pe-empty svg{width:30px;height:30px;color:#bbb}
.fz .pe-goto{display:flex;flex-wrap:wrap;gap:8px}
.fz .pe-goto .mx-btn{border-color:#c4393b;color:#c4393b;height:36px}
.fz .pe-goto .mx-btn.in{border-color:#d0d0d0;color:#555}
.fz .pe-top{display:flex;align-items:center;gap:8px;background:#fff;border-bottom:1px solid #e3e3e3;padding:8px 14px;flex:none}
.fz .pe-top h3{font-size:17px;font-weight:400;margin-right:10px;color:#222}
.fz .pe-sel{display:flex;flex-direction:column;justify-content:center;border:1px solid #cfcfcf;border-radius:4px;height:36px;padding:0 30px 0 9px;min-width:210px;position:relative;font-size:12px}
.fz .pe-sel label{font-size:9.5px;color:#777;line-height:1.1} .fz .pe-sel::after{content:'';position:absolute;right:11px;top:15px;border:4px solid transparent;border-top-color:#666}
.fz .pe-st{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 14px 0;flex:none;flex-wrap:wrap}
.fz .pe-st h4{font-size:15px;font-weight:500;color:#222;margin-right:4px}
.fz .pe-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:11px;border:1px solid #cfcfcf;font-size:10.5px;color:#444;background:#fff} .fz .pe-badge svg{width:12px;height:12px}
.fz .pe-badge.g{border-color:#a5d6a7;color:#2e7d32;background:#f1f8f1}
.fz .pe-ban{display:flex;gap:9px;align-items:flex-start;background:#e8f1fc;border:1px solid #bcd6f5;color:#18436f;border-radius:4px;padding:7px 10px;font-size:11.5px;margin:8px 14px 0} .fz .pe-ban svg{width:15px;height:15px;color:#1976d2;margin-top:1px}
.fz .pe-ban.g{background:#edf7ed;border-color:#b9dfba;color:#1e4620} .fz .pe-ban.g svg{color:#2e7d32}
.fz .pe-tb{display:flex;align-items:center;gap:6px;background:#fff;padding:8px 14px;border-bottom:1px solid #e3e3e3;flex:none;flex-wrap:wrap}
.fz .pe-tb .mx-btn{height:30px;padding:0 10px;font-size:10.5px} .fz .pe-tb .vr{width:1px;height:22px;background:#ddd;margin:0 4px}
.fz .pe-tb .mx-btn .cnt{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;border-radius:8px;background:#c4393b;color:#fff;font-size:9.5px;padding:0 4px}
.fz .pe-tb .mx-btn .cnt.z{background:#2e7d32}
.fz .pe-main{flex:1;min-height:0;display:flex;position:relative}
.fz .pe-cv{flex:1;position:relative;overflow:hidden;background:#fafafa radial-gradient(#d6d6d6 1px,transparent 1.2px) 0 0/18px 18px}
.fz .pe-es{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);text-align:center;width:420px}
.fz .pe-es .bx{width:54px;height:54px;border-radius:50%;background:#fbe3e3;color:#c4393b;display:flex;align-items:center;justify-content:center;margin:0 auto 10px} .fz .pe-es .bx svg{width:26px;height:26px}
.fz .pe-es h3{font-size:18px;font-weight:400;color:#222} .fz .pe-es p{color:#666;margin:4px 0 14px}
.fz .pe-es .row{display:flex;gap:8px;justify-content:center}
.fz .pe-qs{margin-top:16px;text-align:left;padding:10px 12px;font-size:11.5px;color:#555} .fz .pe-qs b{display:block;color:#222;font-weight:500;margin-bottom:3px}
.fz .pe-op{position:absolute;left:60px;top:70px;width:250px;background:#fff;border:1px solid #cfcfcf;border-top:4px solid #2e7d32;border-radius:6px;padding:9px 11px;box-shadow:var(--sh1);cursor:pointer}
.fz .pe-op.on{box-shadow:0 0 0 2px #1976d2,var(--sh1)}
.fz .pe-op .k{font-size:9.5px;letter-spacing:.6px;color:#2e7d32;font-weight:500} .fz .pe-op b{display:block;font-weight:500;font-size:13px;color:#222;margin:2px 0 6px}
.fz .pe-op .tg{display:flex;gap:4px;flex-wrap:wrap}
.fz .pe-op .meta{display:flex;gap:10px;margin-top:7px;font-size:10.5px;color:#666}
.fz .pe-next{position:absolute;left:350px;top:82px;width:150px;height:70px;border:2px dashed #b9b9b9;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px;color:#777;font-size:12px}
.fz .pe-next svg{width:14px;height:14px} .fz .pe-link{position:absolute;left:311px;top:116px;width:38px;height:2px;background:#b9b9b9}
.fz .pe-rules{position:absolute;left:16px;bottom:16px;width:470px;background:#fff;border-radius:6px;box-shadow:var(--sh2);border:1px solid #e3e3e3;z-index:6;overflow:hidden;animation:fzin .2s ease}
.fz .pe-rules .rh{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:14px;font-weight:500;border-bottom:1px solid #eee} .fz .pe-rules .rh svg{width:18px;height:18px} .fz .pe-rules .rh .sp{flex:1}
.fz .pe-rules .rh.bad{color:#b71c1c;background:#fdecec} .fz .pe-rules .rh.ok{color:#1b5e20;background:#edf7ed}
.fz .pe-rules ul{list-style:none;margin:0;padding:8px 12px} .fz .pe-rules li{display:flex;gap:8px;padding:5px 0;font-size:12px;color:#333;border-bottom:1px dashed #eee} .fz .pe-rules li:last-child{border:0}
.fz .pe-rules li svg{width:14px;height:14px;color:#c4393b;flex:none;margin-top:1px} .fz .pe-rules li.ok svg{color:#2e7d32} .fz .pe-rules li a{color:#1565c0}
.fz .pe-rules .note{margin:0 12px 10px;background:#e8f1fc;border-radius:4px;padding:6px 9px;font-size:11px;color:#18436f}
.fz .pe-rules .x{cursor:pointer;color:#666;display:flex} .fz .pe-rules .x svg{width:16px;height:16px}
.fz .pe-ins{width:520px;flex:none;background:#fff;border-left:1px solid #e3e3e3;display:flex;flex-direction:column;min-height:0}
.fz .pe-ins .ih{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #eee} .fz .pe-ins .ih b{font-weight:500;font-size:14px} .fz .pe-ins .ih .sp{flex:1}
.fz .pe-ib{flex:1;min-height:0;display:flex}
.fz .pe-rail{width:118px;flex:none;border-right:1px solid #eee;padding:6px 0;background:#fafafa}
.fz .pe-rail div{padding:7px 12px;font-size:11.5px;color:#555;cursor:pointer;border-left:3px solid transparent} .fz .pe-rail div.on{color:#c4393b;border-left-color:#c4393b;background:#fff;font-weight:500}
.fz .pe-rail div.in{cursor:default}
.fz .pe-tc{flex:1;min-width:0;overflow:auto;padding:12px}
.fz .pe-tc h5{font-size:13px;font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:8px} .fz .pe-tc h5 .sp{flex:1}
.fz .pe-ed{border:1px solid #e3e3e3;border-radius:5px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fz .pe-ed .w{grid-column:1/-1} .fz .pe-ed .mx-in{min-height:38px;padding:4px 9px 5px} .fz .pe-ed .mx-in .v{font-size:12.5px}
.fz .pe-ed .tri{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fz .pe-flags{grid-column:1/-1;display:flex;gap:14px;font-size:11px;color:#555} .fz .pe-flags i{display:inline-block;width:12px;height:12px;border:1.5px solid #888;border-radius:2px;margin-right:5px;vertical-align:-2px}
.fz .pe-seg{display:inline-flex;border:1px solid #cfcfcf;border-radius:4px;overflow:hidden;margin:0 8px 10px 0} .fz .pe-seg span{padding:5px 10px;font-size:11px;color:#555;border-left:1px solid #cfcfcf} .fz .pe-seg span:first-child{border-left:0} .fz .pe-seg span.on{background:#fbe3e3;color:#b71c1c;font-weight:500}
.fz .pe-pick{position:relative}
.fz .pe-pick .lst{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:var(--sh2);z-index:4;margin-top:2px}
.fz .pe-pick .lst div{padding:7px 10px;font-size:12px;border-top:1px solid #f0f0f0} .fz .pe-pick .lst div:first-child{border:0} .fz .pe-pick .lst small{color:#777;margin-left:6px}
.fz .pe-eq{display:flex;align-items:center;gap:10px;border:1px solid #e3e3e3;border-radius:5px;padding:8px 10px;margin-top:10px} .fz .pe-eq svg{width:18px;height:18px;color:#666} .fz .pe-eq b{font-weight:500} .fz .pe-eq small{display:block;color:#777;font-size:10.5px} .fz .pe-eq .sp{flex:1}
.fz .pe-bl{border:1px solid #e3e3e3;border-radius:5px;padding:9px 10px;margin-bottom:8px}
.fz .pe-bl .hd{display:flex;align-items:center;gap:8px} .fz .pe-bl .hd b{font-weight:500} .fz .pe-bl .hd small{color:#777} .fz .pe-bl .hd .sp{flex:1}
.fz .pe-bl .gr{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px} .fz .pe-bl .gr .mx-in{min-height:38px;padding:4px 9px 5px}
.fz .pe-bl .tri{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fz .pe-list .r{display:flex;align-items:center;gap:10px;padding:9px 10px;border-top:1px solid #eee;cursor:pointer} .fz .pe-list .r:first-child{border:0}
.fz .pe-list .r b{font-weight:500;width:130px} .fz .pe-list .r small{color:#777} .fz .pe-list .r .sp{flex:1}
.fz .pe-list{border:1px solid #e3e3e3;border-radius:5px;background:#fff}
.fz .pe-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px} .fz .pe-form .w{grid-column:1/-1}
.fz .pe-tog{display:inline-flex;border:1px solid #cfcfcf;border-radius:4px;overflow:hidden;height:36px} .fz .pe-tog span{display:flex;align-items:center;padding:0 14px;font-size:11.5px} .fz .pe-tog span.on{background:#c4393b;color:#fff}

/* ---------- Guided Step Designer: gs- ---------- */
.fz .gs-home{padding:18px 24px}
.fz .gs-lib .r .nm{width:230px;color:#222} .fz .gs-lib .r{cursor:default} .fz .gs-lib .r.new{background:#fff8e6}
.fz .gs-pal{width:200px;flex:none;background:#fff;border-right:1px solid #e3e3e3;padding:10px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.fz .gs-pt{display:flex;gap:9px;align-items:center;border:1px solid #e0e0e0;border-radius:5px;padding:7px 8px;cursor:pointer;background:#fff}
.fz .gs-pt:hover{border-color:#c4393b} .fz .gs-pt.in{opacity:.55;cursor:default} .fz .gs-pt.in:hover{border-color:#e0e0e0}
.fz .gs-pt .bx{width:28px;height:28px;border-radius:5px;background:#fbe3e3;color:#c4393b;display:flex;align-items:center;justify-content:center;flex:none} .fz .gs-pt .bx svg{width:15px;height:15px}
.fz .gs-pt b{display:block;font-weight:500;font-size:12px} .fz .gs-pt small{display:block;font-size:10px;color:#777;line-height:1.25}
.fz .gs-tip{display:flex;gap:7px;font-size:10.5px;color:#18436f;background:#e8f1fc;border-radius:4px;padding:7px 8px;margin-top:4px} .fz .gs-tip svg{width:14px;height:14px;flex:none;color:#1976d2}
.fz .gs-flow{flex:1;min-width:0;position:relative;overflow:auto;background:#fafafa radial-gradient(#d6d6d6 1px,transparent 1.2px) 0 0/18px 18px}
.fz .gs-col{width:420px;max-width:calc(100% - 32px);margin:14px auto 24px;display:flex;flex-direction:column;align-items:stretch}
.fz .gs-start,.fz .gs-end{align-self:center;display:inline-flex;gap:7px;align-items:center;height:28px;padding:0 12px;border-radius:14px;background:#fff;border:1px solid #cfcfcf;font-size:11px;color:#444} .fz .gs-start svg,.fz .gs-end svg{width:13px;height:13px;color:#2e7d32}
.fz .gs-ln{display:block;width:2px;height:14px;background:#bdbdbd;align-self:center}
.fz .gs-st{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid #d6d6d6;border-left:4px solid #c4393b;border-radius:6px;padding:8px 10px;cursor:pointer;box-shadow:var(--sh1)}
.fz .gs-st.on{box-shadow:0 0 0 2px #1976d2,var(--sh1)}
.fz .gs-st .no{width:20px;height:20px;border-radius:50%;background:#333;color:#fff;font-size:10.5px;display:flex;align-items:center;justify-content:center;flex:none}
.fz .gs-st .bx{color:#c4393b;display:flex} .fz .gs-st .bx svg{width:17px;height:17px}
.fz .gs-st .tx{flex:1;min-width:0} .fz .gs-st small{display:block;font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:#888} .fz .gs-st b{display:block;font-weight:500;font-size:12.5px;color:#222}
.fz .gs-st em{display:block;font-style:normal;font-size:10.5px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fz .gs-st .th{width:56px;flex:none;border-radius:3px;overflow:hidden;display:flex}
.fz .gs-img{display:block;width:100%;height:auto}
.fz .gs-br{display:flex;gap:7px;align-items:center;margin:6px 0 0 28px;padding:6px 9px;border:1px dashed #e0a3a3;border-radius:5px;background:#fff5f5;font-size:11px;color:#8e1e1e} .fz .gs-br svg{width:14px;height:14px;flex:none}
.fz .gs-props{width:340px;flex:none;background:#fff;border-left:1px solid #e3e3e3;display:flex;flex-direction:column;min-height:0}
.fz .gs-props .ih{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #eee} .fz .gs-props .ih b{font-weight:500;font-size:13.5px}
.fz .gs-props .bd{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:9px}
.fz .gs-ed{display:flex;flex-direction:column;gap:8px;border:1px solid #e3e3e3;border-radius:5px;padding:9px;cursor:text}
.fz .gs-ed .tri{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.fz .gs-props .mx-in{min-height:38px;padding:4px 9px 5px} .fz .gs-props .mx-in .v{font-size:12.5px}
.fz .gs-att{display:flex;align-items:center;gap:8px;border:1px dashed #c9c9c9;border-radius:4px;padding:6px;font-size:11px;color:#666} .fz .gs-att svg{width:15px;height:15px} .fz .gs-att .gs-img{width:80px;border-radius:3px}
.fz .gs-sw{display:flex;gap:10px;align-items:flex-start;border:1px solid #e3e3e3;border-radius:5px;padding:8px 9px;cursor:pointer}
.fz .gs-sw i{flex:none;width:30px;height:16px;border-radius:8px;background:#bdbdbd;position:relative;margin-top:2px;transition:background .15s}
.fz .gs-sw i::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s}
.fz .gs-sw.on i{background:#2e7d32} .fz .gs-sw.on i::after{left:16px}
.fz .gs-sw b{display:block;font-weight:500;font-size:12px} .fz .gs-sw small{display:block;font-size:10.5px;color:#666}
.fz .gs-rule{border:1px solid #e3e3e3;border-radius:5px;padding:9px} .fz .gs-rule .rh{display:flex;gap:7px;align-items:center;margin-bottom:6px} .fz .gs-rule .rh svg{width:15px;height:15px;color:#555} .fz .gs-rule .rh b{font-weight:500}
.fz .gs-rule p{font-size:11px;margin-bottom:8px}
.fz .gs-when{display:flex;gap:6px;align-items:center;font-size:11.5px;margin-bottom:7px} .fz .gs-when span{color:#777} .fz .gs-when b{font-weight:500;background:#f1f1f1;border-radius:3px;padding:2px 6px}
.fz .gs-opts{border:1px solid #ddd;border-radius:4px;overflow:hidden} .fz .gs-opts div{padding:7px 9px;font-size:11.5px;border-top:1px solid #f0f0f0;cursor:pointer} .fz .gs-opts div:first-child{border:0} .fz .gs-opts div:hover{background:#fbe3e3}
.fz .gs-then{display:flex;gap:7px;align-items:center;background:#fff5f5;border:1px solid #f0c4c4;color:#8e1e1e;border-radius:4px;padding:7px 9px;font-size:11.5px} .fz .gs-then svg{width:14px;height:14px}
.fz .gs-items div{display:flex;gap:7px;align-items:center;font-size:11.5px;padding:6px 0;border-bottom:1px dashed #eee} .fz .gs-items svg{width:14px;height:14px;color:#2e7d32}
.fz .gs-chk{margin-top:10px;display:flex;flex-direction:column;gap:5px;font-size:11.5px} .fz .gs-chk div{display:flex;gap:7px;align-items:center} .fz .gs-chk svg{width:14px;height:14px;color:#2e7d32}
.fz .gs-pvwrap{flex:1;display:flex;align-items:center;justify-content:center;background:#3b3f45;padding:14px;overflow:auto}
.fz .gs-tab{width:620px;max-width:100%;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);border:8px solid #1d1f22;display:flex;flex-direction:column;overflow:hidden}
.fz .gs-tab .th{display:flex;gap:10px;align-items:center;background:#262a2f;color:#fff;padding:8px 12px;font-size:11.5px} .fz .gs-tab .th b{font-weight:500} .fz .gs-tab .th span{color:#c9cdd2} .fz .gs-tab .th .sp{flex:1}
.fz .gs-tab .dots{display:flex;gap:4px;padding:8px 12px 0} .fz .gs-tab .dots i{flex:1;height:5px;border-radius:3px;background:#e0e0e0} .fz .gs-tab .dots i.d{background:#2e7d32} .fz .gs-tab .dots i.c{background:#c4393b}
.fz .gs-tab .bd{padding:12px 16px;min-height:230px} .fz .gs-tab .ty{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#888} .fz .gs-tab h3{font-size:19px;font-weight:500;color:#222;margin:2px 0 10px}
.fz .gs-tab .ft{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid #eee} .fz .gs-tab .ft .sp{flex:1} .fz .gs-tab .ft .mx-muted{font-size:11px}
.fz .gs-pvins{display:flex;gap:14px;align-items:flex-start} .fz .gs-pvins .gs-img{width:220px;border-radius:5px;flex:none} .fz .gs-pvins p{font-size:15px;line-height:1.45;color:#333}
.fz .gs-pvscan{display:flex;gap:12px;align-items:center;border:2px dashed #9e9e9e;border-radius:8px;padding:16px;cursor:pointer} .fz .gs-pvscan>svg{width:34px;height:34px;color:#555}
.fz .gs-pvscan small{display:block;color:#777} .fz .gs-pvscan b{display:block;font-size:20px;font-weight:500;color:#222} .fz .gs-pvscan div{flex:1}
.fz .gs-pvscan .ok{display:inline-flex;gap:5px;align-items:center;color:#2e7d32;font-weight:500;font-size:12px} .fz .gs-pvscan .ok svg{width:15px;height:15px}
.fz .gs-pvm .gauge{display:flex;align-items:baseline;gap:10px;border:2px solid #ddd;border-radius:8px;padding:10px 14px} .fz .gs-pvm .gauge small{color:#777;flex:1} .fz .gs-pvm .gauge b{font-size:34px;font-weight:500;color:#222} .fz .gs-pvm .gauge span{color:#777}
.fz .gs-pvm .gauge.ok{border-color:#2e7d32} .fz .gs-pvm .gauge.bad{border-color:#c4393b;background:#fff5f5} .fz .gs-pvm .gauge.bad b{color:#c4393b}
.fz .gs-pvm .lim{display:flex;justify-content:space-between;font-size:11px;color:#666;margin:6px 2px 10px}
.fz .gs-hold{display:flex;gap:10px;align-items:flex-start;background:#c4393b;color:#fff;border-radius:6px;padding:10px 12px} .fz .gs-hold svg{width:20px;height:20px;flex:none} .fz .gs-hold b{display:block;font-size:14px;font-weight:500} .fz .gs-hold span{font-size:12px}

/* ---------- Production reporting: rp- ---------- */
.fz .rp-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fz .rp-hub .mx-card{padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:118px} .fz .rp-hub .mx-card:hover{border-color:#c4393b} .fz .rp-hub .mx-card.in{cursor:default;opacity:.7} .fz .rp-hub .mx-card.in:hover{border-color:#e3e3e3}
.fz .rp-hub .bx{width:34px;height:34px;border-radius:7px;background:#fbe3e3;color:#c4393b;display:flex;align-items:center;justify-content:center;margin-bottom:4px} .fz .rp-hub .bx svg{width:18px;height:18px}
.fz .rp-hub b{font-weight:500;font-size:14px;color:#222} .fz .rp-hub small{color:#666;font-size:11.5px}
.fz .rp-fb{display:flex;align-items:center;gap:8px;background:#fff;border-bottom:1px solid #e3e3e3;padding:8px 14px;flex:none;flex-wrap:wrap}
.fz .rp-fb .pe-sel{min-width:150px;cursor:pointer} .fz .rp-fb .pe-pick .lst{min-width:180px}
.fz .rp-fb .mx-btn{height:32px}
.fz .rp-body{padding:10px 14px 14px}
.fz .rp-scope{display:flex;align-items:center;gap:6px;font-size:12px;color:#444;margin-bottom:8px} .fz .rp-scope svg{width:14px;height:14px;color:#777} .fz .rp-scope i{font-style:normal;color:#aaa} .fz .rp-scope .lk{color:#1565c0;cursor:pointer}
.fz .rp-ks{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:10px}
.fz .rp-k{padding:9px 11px;position:relative} .fz .rp-k small{display:block;font-size:10.5px;color:#666} .fz .rp-k b{display:block;font-size:24px;font-weight:400;color:#222;line-height:1.2} .fz .rp-k b span{font-size:12px;color:#777;margin-left:2px}
.fz .rp-k i{display:block;height:4px;border-radius:2px;background:#eee;margin-top:5px;position:relative;overflow:hidden} .fz .rp-k i::after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--w);background:#9e9e9e}
.fz .rp-k.ok i::after{background:#2e7d32} .fz .rp-k.wa i::after{background:#ef8f00} .fz .rp-k.bad i::after{background:#c4393b} .fz .rp-k.bad b{color:#c4393b}
.fz .rp-k em{display:block;font-style:normal;font-size:9.5px;color:#888;margin-top:3px}
.fz .rp-tabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid #ddd;margin-bottom:10px}
.fz .rp-tabs>div{padding:8px 14px;font-size:12px;color:#555;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px} .fz .rp-tabs>div.on{color:#c4393b;border-bottom-color:#c4393b;font-weight:500}
.fz .rp-tabs .mx-btn{height:30px;margin-bottom:4px}
.fz .rp-g2{display:grid;grid-template-columns:1.15fr 1fr;gap:10px}
.fz .rp-c{padding:11px 13px;min-height:250px} .fz .rp-c h4{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin-bottom:9px} .fz .rp-c h4 .sp{flex:1} .fz .rp-c h4 small{font-weight:400;color:#777;font-size:10.5px}
.fz .rp-t{width:100%;border-collapse:collapse;font-size:11.5px} .fz .rp-t th{text-align:left;font-weight:500;color:#666;font-size:10.5px;padding:5px 6px;border-bottom:1px solid #e3e3e3;white-space:nowrap}
.fz .rp-t th.srt{cursor:pointer;color:#1565c0} .fz .rp-t th.srt svg{width:12px;height:12px;vertical-align:-2px} .fz .rp-t th.srt.on{color:#c4393b}
.fz .rp-t td{padding:6px;border-bottom:1px solid #f0f0f0;white-space:nowrap} .fz .rp-t td b{font-weight:500}
.fz .rp-t tr.hot{cursor:pointer} .fz .rp-t tr.hot:hover td{background:#fff5f5} .fz .rp-t.sm td{padding:5px 6px}
.fz .rp-bar{display:inline-block;width:54px;height:6px;border-radius:3px;background:#eee;margin-right:6px;vertical-align:1px;overflow:hidden} .fz .rp-bar i{display:block;height:100%;background:#9e9e9e}
.fz .rp-bar.ok i{background:#2e7d32} .fz .rp-bar.wa i{background:#ef8f00} .fz .rp-bar.bad i{background:#c4393b}
.fz .rp-trend{position:relative;display:flex;align-items:flex-end;gap:10px;height:190px;border-bottom:1px solid #ddd;padding:0 4px}
.fz .rp-trend>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;font-size:10px;color:#666;position:relative}
.fz .rp-trend>div i{display:block;width:62%;border-radius:3px 3px 0 0;background:#9e9e9e} .fz .rp-trend i.ok{background:#2e7d32} .fz .rp-trend i.wa{background:#ef8f00} .fz .rp-trend i.bad{background:#c4393b}
.fz .rp-trend>div span{position:absolute;bottom:-16px;white-space:nowrap} .fz .rp-trend>div b{font-weight:500;color:#333;margin-bottom:3px}
.fz .rp-trend.sm{height:150px;margin-bottom:22px}
.fz .rp-trend .tg{position:absolute;left:0;right:0;border-top:1.5px dashed #c4393b;z-index:1} .fz .rp-trend .tg em{position:absolute;right:0;top:-15px;font-style:normal;font-size:9.5px;color:#c4393b}
.fz .rp-note{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;color:#18436f;background:#e8f1fc;border-radius:4px;padding:7px 9px;margin-top:22px} .fz .rp-note svg{width:14px;height:14px;flex:none;margin-top:1px}
.fz .rp-note.bad{color:#8e1e1e;background:#fdecec;margin-top:0}
.fz .rp-wf,.fz .rp-sh,.fz .rp-hrs{position:relative;display:flex;gap:10px;align-items:stretch;height:180px}
.fz .rp-wf>div,.fz .rp-sh>div,.fz .rp-hrs>div{flex:1;display:flex;flex-direction:column;align-items:center;font-size:10.5px;color:#666}
.fz .rp-wf b,.fz .rp-sh b,.fz .rp-hrs b{font-weight:500;color:#333;font-size:11.5px;height:18px}
.fz .rp-wf .col,.fz .rp-sh .col,.fz .rp-hrs .col{flex:1;width:62%;position:relative;border-bottom:1px solid #ccc}
.fz .rp-wf .col i,.fz .rp-sh .col i,.fz .rp-hrs .col i{position:absolute;left:0;right:0;bottom:0;border-radius:3px 3px 0 0;background:#9e9e9e}
.fz .rp-wf i.base{background:#78909c} .fz .rp-wf i.loss{background:#e57373} .fz .rp-wf i.good{background:#2e7d32}
.fz .rp-sh i.ok,.fz .rp-hrs i.ok{background:#2e7d32} .fz .rp-sh i.wa{background:#ef8f00} .fz .rp-sh i.bad,.fz .rp-hrs i.bad{background:#c4393b}
.fz .rp-wf small,.fz .rp-sh small,.fz .rp-hrs small{margin-top:4px;white-space:nowrap}
.fz .rp-sh>div{cursor:default;border-radius:5px;padding:4px 0} .fz .rp-sh>div[data-act]{cursor:pointer} .fz .rp-sh>div[data-act]:hover{background:#fff5f5} .fz .rp-sh>div.on{background:#fdecec}
.fz .rp-sh .tg{display:none}
.fz .rp-par{display:flex;flex-direction:column;gap:5px}
.fz .rp-par>div{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;font-size:11.5px} .fz .rp-par>div[data-act]{cursor:pointer} .fz .rp-par>div[data-act]:hover{background:#fff5f5} .fz .rp-par>div.on{background:#fdecec}
.fz .rp-par .l{width:130px;flex:none;color:#333} .fz .rp-par .b{flex:1;height:16px;background:#f3f3f3;border-radius:3px;overflow:hidden} .fz .rp-par .b i{display:block;height:100%;background:#c4393b;opacity:.85}
.fz .rp-par>div:not(:first-child) .b i{background:#e57373} .fz .rp-par .v{width:92px;flex:none;text-align:right;color:#555;font-size:11px}
.fz .rp-cmp{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:400;color:#444;cursor:pointer;border:1px solid #d6d6d6;border-radius:12px;padding:3px 9px}
.fz .rp-cmp i{width:24px;height:13px;border-radius:7px;background:#bdbdbd;position:relative} .fz .rp-cmp i::after{content:'';position:absolute;left:2px;top:2px;width:9px;height:9px;border-radius:50%;background:#fff}
.fz .rp-cmp.on i{background:#2e7d32} .fz .rp-cmp.on i::after{left:13px}
.fz .rp-vs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px} .fz .rp-vs>div{border:1px solid #e3e3e3;border-radius:5px;padding:7px 10px} .fz .rp-vs>div:first-child{border-color:#f0c4c4;background:#fff5f5}
.fz .rp-vs small{display:block;font-size:10px;color:#777} .fz .rp-vs b{display:block;font-size:22px;font-weight:400} .fz .rp-vs>div:first-child b{color:#c4393b} .fz .rp-vs span{font-size:10.5px;color:#666}
.fz .rp-vs p{grid-column:1/-1;display:flex;gap:7px;font-size:11.5px;color:#8e1e1e} .fz .rp-vs p svg{width:14px;height:14px;flex:none;margin-top:1px}
.fz .rp-w{min-height:0} .fz .rp-hrs{height:200px} .fz .rp-hrs>div[data-act]{cursor:pointer;border-radius:5px} .fz .rp-hrs>div[data-act]:hover{background:#fff5f5} .fz .rp-hrs>div.on{background:#fdecec}
.fz .rp-hrs .tg{position:absolute;left:0;right:0;border-top:1.5px dashed #555;z-index:1;pointer-events:none} .fz .rp-hrs .tg em{position:absolute;right:0;top:-15px;font-style:normal;font-size:9.5px;color:#555}
.fz .rp-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px} .fz .rp-sum div{border:1px solid #e3e3e3;border-radius:4px;padding:7px 10px;background:#fafafa}
.fz .rp-sum small{display:block;font-size:10px;color:#777} .fz .rp-sum b{font-size:20px;font-weight:400} .fz .rp-sum .bad b{color:#c4393b}
.fz .rp-pop{display:flex;gap:9px;align-items:flex-start;margin-top:10px;border:1px solid #f0c4c4;background:#fff5f5;border-radius:5px;padding:8px 10px} .fz .rp-pop svg{width:16px;height:16px;color:#c4393b;flex:none}
.fz .rp-pop b{display:block;font-weight:500} .fz .rp-pop span{font-size:11.5px;color:#444}
.fz .rp-ev{display:flex;flex-wrap:wrap;gap:6px} .fz .rp-ev span{display:inline-flex;gap:5px;align-items:center;font-size:11px;border:1px solid #d6d6d6;background:#fff;border-radius:12px;padding:3px 9px} .fz .rp-ev svg{width:13px;height:13px;color:#c4393b}
.fz .gs-lay .row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:6px}
.fz .gs-lay .t{border:1px solid #ddd;border-radius:5px;padding:6px;cursor:pointer;text-align:center} .fz .gs-lay .t:hover{border-color:#c4393b} .fz .gs-lay .t.on{border-color:#c4393b;box-shadow:0 0 0 1px #c4393b;background:#fff8f8}
.fz .gs-lay .t small{display:block;font-size:9.5px;color:#555;line-height:1.2;margin-top:4px}
.fz .gs-lay .mini{display:grid;gap:3px;height:34px} .fz .gs-lay .mini i{background:#e3e7ec;border-radius:2px} .fz .gs-lay .mini i.im{background:#b9c7d6} .fz .gs-lay .mini i.sd{background:#f2d2d2}
.fz .gs-lay .mini.single{grid-template-columns:1fr} .fz .gs-lay .mini.cols2{grid-template-columns:1fr 1fr} .fz .gs-lay .mini.cols3{grid-template-columns:1.3fr 1fr .7fr}
.fz .gs-tab.wide{width:960px}
.fz .gs-big{display:block;width:100%;height:auto;border-radius:5px;border:1px solid #dde3e9}
.fz .gs-c3{display:grid;grid-template-columns:1.35fr 1fr .8fr;gap:14px;align-items:start}
.fz .gs-c3 figure{margin:0} .fz .gs-c3 figcaption{font-size:10.5px;color:#777;margin-top:4px}
.fz .gs-c3 ol{list-style:none;margin:0;padding:0;counter-reset:gs;display:flex;flex-direction:column;gap:10px}
.fz .gs-c3 li{counter-increment:gs;position:relative;padding-left:34px} .fz .gs-c3 li::before{content:counter(gs);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#c4393b;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.fz .gs-c3 li b{display:block;font-size:14px;font-weight:500;color:#222} .fz .gs-c3 li span{font-size:12.5px;color:#444;line-height:1.4}
.fz .gs-c3 aside{display:flex;flex-direction:column;gap:9px} .fz .gs-c3 aside>div{border:1px solid #e3e3e3;border-radius:6px;padding:8px 9px;background:#fafafa}
.fz .gs-c3 h5{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#555;margin-bottom:5px} .fz .gs-c3 h5 svg{width:13px;height:13px;color:#c4393b}
.fz .gs-c3 .chip{display:inline-block;font-size:11px;background:#fff3cd;border:1px solid #f0d78a;color:#6b5000;border-radius:10px;padding:2px 8px;margin:0 4px 4px 0}
.fz .gs-c3 aside p{font-size:11.5px;color:#444} .fz .gs-c3 .spec p{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px dashed #e3e3e3} .fz .gs-c3 .spec p:last-child{border:0} .fz .gs-c3 .spec span{color:#777} .fz .gs-c3 .spec b{font-weight:500;color:#222;white-space:nowrap}

/* ---------- Edge Gateway and Event Explorer: eg- ---------- */
.fz .eg{background:#f4f4f4}
.fz .eg-top{display:flex;align-items:center;gap:10px;background:#fff;border-bottom:1px solid #e3e3e3;padding:9px 16px;flex:none;flex-wrap:wrap}
.fz .eg-top h3{font-size:17px;font-weight:400;color:#222;margin-right:4px} .fz .eg-top .sp{flex:1} .fz .eg-top .mx-btn{height:32px}
.fz .eg-pad{padding:14px 16px}
.fz .eg-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#9e9e9e;margin-right:6px;vertical-align:1px} .fz .eg-dot.on{background:#2e7d32;box-shadow:0 0 0 3px rgba(46,125,50,.15)} .fz .eg-dot.off{background:#c4393b}
.fz .eg-t{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e3e3e3;border-radius:5px;font-size:12.5px}
.fz .eg-t th{text-align:left;font-weight:500;color:#666;font-size:11px;padding:8px 10px;border-bottom:1px solid #e3e3e3;white-space:nowrap} .fz .eg-t td{padding:9px 10px;border-bottom:1px solid #f0f0f0;white-space:nowrap}
.fz .eg-t td b{font-weight:500} .fz .eg-t td small{display:block;color:#888;font-size:10.5px} .fz .eg-t tr.hot{cursor:pointer} .fz .eg-t tr.hot:hover td{background:#fff5f5}
.fz .eg-t.sm td{padding:6px 10px;font-size:12px} .fz .eg-t tr.sel td{background:#e8f1fc} .fz .eg-t tr.hi td b{color:#c4393b} .fz .eg-t tr[data-act]{cursor:pointer}
.fz .eg-note{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;color:#18436f;background:#e8f1fc;border-radius:4px;padding:7px 9px;margin-top:12px} .fz .eg-note svg{width:14px;height:14px;flex:none;margin-top:1px}
.fz .eg-split{flex:1;min-height:0;display:flex;gap:14px;padding:14px 16px;overflow:auto}
.fz .eg-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px} .fz .eg-col.w{flex:1.2}
.fz .eg-sec{background:#fff;border:1px solid #e3e3e3;border-radius:6px;padding:12px 14px}
.fz .eg-sec h4{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:#222;margin-bottom:10px} .fz .eg-sec h4 .sp{flex:1} .fz .eg-sec h4 .mx-btn{height:30px}
.fz .eg-empty{display:flex;gap:10px;align-items:center;color:#777;font-size:12px;border:1px dashed #d6d6d6;border-radius:5px;padding:14px} .fz .eg-empty svg{width:22px;height:22px;color:#bbb}
.fz .eg-dev,.fz .eg-subrow{display:flex;align-items:center;gap:10px;border:1px solid #e3e3e3;border-radius:5px;padding:9px 11px} .fz .eg-dev{cursor:pointer} .fz .eg-dev:hover{border-color:#c4393b} .fz .eg-dev.on{box-shadow:0 0 0 2px #1976d2}
.fz .eg-dev>svg,.fz .eg-subrow>svg{width:18px;height:18px;color:#666} .fz .eg-dev b,.fz .eg-subrow b{font-weight:500} .fz .eg-dev small,.fz .eg-subrow small{display:block;font-size:10.5px;color:#777} .fz .eg-dev .sp,.fz .eg-subrow .sp{flex:1} .fz .eg-dev .ok{color:#2e7d32;font-size:11.5px;font-weight:500}
.fz .eg-tree{font-size:12.5px;border:1px solid #eee;border-radius:5px;padding:6px 0}
.fz .eg-tree>div{display:flex;align-items:center;gap:6px;padding:5px 10px} .fz .eg-tree svg{width:14px;height:14px;color:#777;flex:none} .fz .eg-tree .sp{flex:1}
.fz .eg-tree .r1{padding-left:24px} .fz .eg-tree .r2{padding-left:38px} .fz .eg-tree .r3{padding-left:64px} .fz .eg-tree .fold{cursor:pointer} .fz .eg-tree .fold:hover{background:#fff5f5} .fz .eg-tree .fold.open{background:#fafafa}
.fz .eg-tree .r3 b{font-weight:500} .fz .eg-tree .r3 small{color:#888;font-size:10.5px}
.fz .eg-tree .cb{width:16px;height:16px;border:1.5px solid #888;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;flex:none}
.fz .eg-tree .cb.on{background:#c4393b;border-color:#c4393b} .fz .eg-tree .cb.on svg{color:#fff;width:12px;height:12px} .fz .eg-tree .cb.some{border-color:#c4393b}
.fz .lv{white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:#1565c0;background:#eef5fd;border-radius:3px;padding:1px 6px}
.fz .eg-testrow{display:flex;align-items:center;gap:12px;margin-top:6px} .fz .eg-test{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:#555} .fz .eg-test svg{width:15px;height:15px} .fz .eg-test.ok{color:#2e7d32;font-weight:500}
.fz .eg-chips{display:flex;flex-wrap:wrap;gap:6px} .fz .eg-chips span{font-size:11.5px;border:1px solid #bbb;border-radius:10px;padding:2px 9px;background:#fff}
.fz .eg-live{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:#edf7ed;color:#1b5e20;font-size:11.5px;font-weight:500}
.fz .eg-live i{width:8px;height:8px;border-radius:50%;background:#2e7d32;animation:egp 1.2s ease-in-out infinite} .fz .eg-live.p{background:#f1f1f1;color:#555} .fz .eg-live.p i{background:#9e9e9e;animation:none}
@keyframes egp{50%{opacity:.3}}
.fz .eg-ex{flex:1;min-height:0;display:flex;gap:12px;padding:12px 14px;overflow:hidden}
.fz .eg-uns{width:250px;flex:none;background:#fff;border:1px solid #e3e3e3;border-radius:6px;padding:10px 0;overflow:auto;font-size:12.5px}
.fz .eg-uns .mx-k{padding:0 12px 6px} .fz .eg-uns>div:not(.mx-k){display:flex;align-items:center;gap:6px;padding:5px 12px} .fz .eg-uns svg{width:14px;height:14px;color:#777} .fz .eg-uns .sp{flex:1}
.fz .eg-uns .u1{padding-left:22px!important} .fz .eg-uns .u2{padding-left:34px!important} .fz .eg-uns .u3{padding-left:48px!important;cursor:pointer} .fz .eg-uns .u3:hover{background:#fff5f5} .fz .eg-uns .u3.on{background:#fbe3e3;color:#b71c1c;font-weight:500}
.fz .eg-uns .dim{color:#999} .fz .eg-uns .lv{font-size:10.5px;padding:0 4px}
.fz .eg-stream{flex:1;min-width:0;overflow:auto} .fz .eg-stream .eg-t td:nth-child(2){color:#555;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}
.fz .eg-side{width:330px;flex:none;background:#fff;border:1px solid #e3e3e3;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px;overflow:auto}
.fz .eg-sp{display:block;width:100%;height:120px;background:#fafcff;border:1px solid #eef2f7;border-radius:4px}
.fz .eg-now{display:flex;align-items:baseline;gap:8px} .fz .eg-now b{font-size:22px;font-weight:400;color:#222} .fz .eg-now span{font-size:11px;color:#777}
.fz .eg-pl pre{margin:6px 0 0;background:#1e1f24;color:#d7e3f4;border-radius:5px;padding:9px 10px;font-size:11px;line-height:1.5;white-space:pre;overflow:auto} .fz .eg-pl p{font-size:12px}
/* Event Explorer (m-event-explorer.js): the tree of event sources, filter tabs and the detail panel */
.fz .ee{display:flex;flex-direction:column;height:100%;width:100%;min-width:0;background:#c9c9c9;font-family:Roboto,Helvetica,Arial,sans-serif;color:#222}
.fz .ee-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;flex:none}
.fz .ee-tab{font:600 11px Roboto,sans-serif;letter-spacing:.05em;padding:5px 10px;border:0;border-radius:3px;background:transparent;color:#444;cursor:pointer}
.fz .ee-tab:hover{background:#bdbdbd} .fz .ee-tab.on{background:#e6e6e6;color:#111}
.fz .ee-search{display:inline-flex;align-items:center;gap:6px;background:#bdbdbd;border-radius:14px;padding:5px 14px;font-size:12px;color:#555;min-width:220px;margin-left:6px} .fz .ee-search svg{width:14px;height:14px}
.fz .ee-bar .sp{flex:1}
.fz .ee-main{flex:1;display:flex;min-height:0;min-width:0}
.fz .ee-tree{flex:1;overflow:auto;padding:0 10px 10px;min-width:0}
.fz .ee-card{background:#fff;border-radius:3px;overflow:hidden}
.fz .ee-ch{padding:6px 10px;font-size:13px} .fz .ee-ch small{color:#555} .fz .ee-ch .d{display:block;font-size:10px;color:#777}
.fz .ee-r{display:flex;align-items:center;gap:6px;min-height:30px;padding-right:10px;font:12px/1.25 "Roboto Mono",Consolas,Menlo,monospace;white-space:nowrap;overflow:hidden;color:#111}
.fz .ee-r.l1{padding-left:12px;background:#d9d8d8} .fz .ee-r.l2{padding-left:26px;background:#a9a8a8} .fz .ee-r.l3{padding-left:40px;background:#d9d8d8}
.fz .ee-r.l4{padding-left:54px;background:#a9a8a8} .fz .ee-r.l5{padding-left:68px;background:#d9d8d8}
.fz .ee-r[data-act]{cursor:pointer} .fz .ee-r[data-act]:hover{filter:brightness(.96)} .fz .ee-r.on{box-shadow:inset 3px 0 0 #d9534f;background:#fff}
.fz .ee-r .n{overflow:hidden;text-overflow:ellipsis;font-weight:500} .fz .ee-r small{color:#555;font-weight:400}
.fz .ee-r .v{color:#444;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto} .fz .ee-r .sp{flex:0 0 4px}
.fz .ee-cv{display:inline-flex;width:16px;height:16px;flex:none;transition:transform .12s} .fz .ee-cv svg{width:16px;height:16px} .fz .ee-cv.o{transform:rotate(90deg)}
.fz .ee-ic{display:inline-flex;width:16px;height:16px;flex:none} .fz .ee-ic svg{width:15px;height:15px}
.fz .ee-b{margin-left:auto;background:#d32f2f;color:#fff;font:600 10px Roboto,sans-serif;border-radius:9px;padding:1px 7px;min-width:22px;text-align:center}
.fz .ee-det{width:300px;flex:0 0 300px;background:#fff;border-left:1px solid #bbb;padding:10px 12px;overflow:auto;font-size:12px;min-height:0}
.fz .ee-det h4{font-size:13px;font-weight:500;margin:0 0 8px;color:#222} .fz .ee-hint{color:#555;margin:0}
.fz .ee-dt{display:flex;gap:6px;align-items:flex-start;margin-bottom:8px;font:600 11px/1.3 "Roboto Mono",Consolas,monospace;word-break:break-all;color:#222} .fz .ee-dt svg{width:15px;height:15px;flex:none}
.fz .ee-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px} .fz .ee-chips span{border:1px solid #cfcfcf;border-radius:3px;padding:2px 7px;font-size:11px;background:#fafafa}
.fz .ee-chips small{display:block;font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:#888}
.fz .ee-desc{margin:0 0 8px;color:#555;line-height:1.4}
.fz .ee-k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#777;margin:8px 0 4px} .fz .ee-k small{text-transform:none;letter-spacing:0}
.fz .ee-cur{margin:0;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:3px;padding:8px;font:11px/1.45 "Roboto Mono",Consolas,monospace;white-space:pre-wrap;word-break:break-all}
.fz .ee-hist .hr{display:grid;grid-template-columns:62px 40px 1fr;gap:6px;padding:3px 0;border-bottom:1px solid #eee;font:10.5px/1.3 "Roboto Mono",Consolas,monospace}
.fz .ee-hist .hr span:nth-child(2){color:#2e7d32} .fz .ee-hist .hr .j{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444}
.fz .ee-site{margin-top:8px} .fz .ee-none{padding:8px 12px;font-size:12px;color:#666;background:#fff}

/* Data Explorer and Enterprise Data Explorer (m-data-explorer.js) */
.fz .de{display:flex;height:100%;width:100%;min-width:0;background:#c9c9c9;font-family:Roboto,Helvetica,Arial,sans-serif;color:#222}
.fz .de-main{flex:1;min-width:0;overflow:auto;padding:8px 10px}
.fz .de-card{background:#fff;border-radius:3px;margin-bottom:6px;overflow:hidden}
.fz .de-ch{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;min-height:32px} .fz .de-ch:hover{background:#f6f6f6}
.fz .de-ch b{display:block;font-size:13px;font-weight:500} .fz .de-ch span{display:block;font-size:10px;color:#777;font-style:italic}
.fz .de-cv{display:inline-flex;width:16px;height:16px;flex:none;transition:transform .12s} .fz .de-cv svg{width:16px;height:16px} .fz .de-cv.o{transform:rotate(90deg)}
.fz .de-list{background:#d9d8d8;padding:4px 0 6px}
.fz .de-m,.fz .de-r{display:flex;align-items:center;gap:6px;min-height:21px;padding:0 10px 0 22px;font:12px/1.3 "Roboto Mono",Consolas,Menlo,monospace;color:#111;white-space:nowrap}
.fz .de-m[data-act],.fz .de-r[data-act]{cursor:pointer} .fz .de-m[data-act]:hover{background:#cfcece} .fz .de-m.on{background:#cdc3c3}
.fz .de-m .br,.fz .de-r .br{color:#555;font-weight:600} .fz .de-m.dc{color:#444}
.fz .de-q{margin:2px 10px 0 38px;background:#fff;border:1px solid #cfcfcf;padding:6px 8px}
.fz .de-qb{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fz .de-qb .ib{display:inline-flex;width:28px;height:26px;align-items:center;justify-content:center;background:#e6e6e6;border-radius:3px} .fz .de-qb .ib svg{width:15px;height:15px}
.fz .de-qb .lg{font:600 10px Roboto,sans-serif;background:#555;color:#fff;border-radius:3px;padding:3px 7px} .fz .de-qb .lg.d{background:#e6e6e6;color:#777}
.fz .de-rule{border:0;background:#d9534f;color:#fff;font:600 10px Roboto,sans-serif;letter-spacing:.05em;padding:5px 9px;border-radius:3px;cursor:pointer} .fz .de-grp{font:600 10px Roboto,sans-serif;color:#777;background:#e6e6e6;padding:5px 9px;border-radius:3px}
.fz .de-rr{display:flex;align-items:center;gap:10px;margin:3px 0;font-size:12px} .fz .de-rr i{color:#d9534f;font-style:normal;width:12px}
.fz .de-rr .sel{min-width:130px;border-bottom:1px solid #999;padding:2px 2px} .fz .de-rr .ph,.fz .de-rr .sel.ph{color:#999}
.fz .de-recs{margin:0 10px 0 38px;background:#a9a8a8}
.fz .de-r{padding-left:10px;min-height:22px} .fz .de-r.on{background:#999}
.fz .de-f{background:#d9d8d8;padding:6px 10px 6px 34px;font:11px/1.55 "Roboto Mono",Consolas,monospace;color:#222} .fz .de-f b{font-weight:600} .fz .de-f i{color:#777}
.fz .de-side{width:260px;flex:0 0 260px;padding:10px 12px;font-size:11px;color:#444;border-left:1px solid #b5b5b5;overflow:auto}
.fz .de-k{font-size:10px;color:#666;margin-top:8px} .fz .de-k.s{margin-top:6px} .fz .de-v{font-size:12px;color:#222;border-bottom:1px solid #aaa;padding:2px 0 3px;min-height:18px}
.fz .de-tog{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px;color:#333;cursor:default} .fz .de-tog[data-act]{cursor:pointer}
.fz .de-tog i{width:30px;height:14px;border-radius:7px;background:#999;position:relative;flex:none} .fz .de-tog i:after{content:"";position:absolute;left:-2px;top:-2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);transition:left .12s}
.fz .de-tog.on i{background:#e57a77} .fz .de-tog.on i:after{left:14px;background:#d9534f}
.fz .de-clear{margin-top:8px;font-size:9px;letter-spacing:.06em;color:#999;text-align:center;border:1px solid #bdbdbd;padding:5px;border-radius:3px}
.fz .de-ct{margin-top:8px;font-size:11px;line-height:1.5;color:#333} .fz .de-ct .fl{color:#d9534f}
.fz .de-collapse{margin-top:8px;text-align:center;font-size:10px;letter-spacing:.06em;border:1px solid #bdbdbd;padding:6px;border-radius:3px;color:#333}

/* Guided Step Designer (rebuilt from the real designer) */
.fz .gd{background:#fff;font-size:12px;color:#222}
.fz .gd .sp{flex:1}
.fz .gd-top{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#fff;border-bottom:1px solid #eee}
.fz .gd-top .ti{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500}.fz .gd-top .ti svg{width:16px;height:16px;color:#c4393b}
.fz .gd-sel{border:1px solid #c9c9c9;border-radius:4px;padding:9px 12px 6px;font-size:11.5px;position:relative;width:280px}
.fz .gd-sel label{position:absolute;top:-7px;left:8px;background:#fff;padding:0 3px;font-size:9px;color:#777}
.fz .gd-top .lk{color:#1769c2;font-weight:500;font-size:11.5px}.fz .gd-top small{color:#555;font-size:10.5px}
.fz .gd-hd{display:flex;align-items:center;gap:8px;padding:10px 16px 2px;background:#f4f6f8}
.fz .gd-hd h3{margin:0;font-size:15px;font-weight:500}.fz .gd-hd small{font-size:10px;color:#666}
.fz .gd-chip{font-size:9.5px;font-weight:500;border-radius:3px;padding:2px 6px}.fz .gd-chip.dirty{background:#1769c2;color:#fff}
.fz .gd-chip.warn{background:#fff3cd;color:#7a5a00;border:1px solid #e6cf80}.fz .gd-chip.ok{background:#e3f4e6;color:#1d6b32;border:1px solid #9fd2aa}
.fz .gd-co2{display:inline-flex;align-items:center;gap:6px;border:1px solid #2e7d32;color:#2e7d32;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:500;background:#fff}.fz .gd-co2 svg{width:13px;height:13px}
.fz .gd-bt{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfd6dd;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:500;background:#fff;color:#1769c2;cursor:pointer;white-space:nowrap}
.fz .gd-bt svg{width:13px;height:13px}.fz .gd-bt.t{border-color:transparent;background:transparent}.fz .gd-bt.p{background:#1769c2;border-color:#1769c2;color:#fff}
.fz .gd-bt.g{background:#2e7d32;border-color:#2e7d32;color:#fff}.fz .gd-bt.f{color:#b3261e;border-color:#b3261e}.fz .gd-bt.dis{color:#aaa;background:#f1f1f1;cursor:default}
.fz .gd-how{padding:2px 16px 6px;font-size:9.5px;color:#555;background:#f4f6f8;border-bottom:1px solid #e3e6ea}
.fz .gd-ban{display:flex;align-items:center;gap:10px;background:#fff4e0;border-left:4px solid #e08a00;padding:9px 14px;font-size:11.5px}
.fz .gd-ban svg{width:16px;height:16px;color:#b86b00;flex:none}.fz .gd-ban .gd-bt{color:#333}
.fz .gd-ban.ok{background:#e8f5ea;border-left-color:#2e7d32}.fz .gd-ban.ok svg{color:#2e7d32}.fz .gd-ban.sm{margin:10px 0;border-radius:2px}
.fz .gd-main{flex:1;min-height:0;display:flex;background:#e9edf1}
.fz .gd-steps{width:158px;flex:none;background:#fff;border-right:1px solid #e0e0e0;padding:10px 6px;overflow:hidden}
.fz .gd-steps .sh{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;padding:0 4px 8px}.fz .gd-steps .sh b{color:#1769c2;font-weight:500}
.fz .gd-steps .se{display:flex;gap:6px;margin-bottom:8px}.fz .gd-steps .se span{flex:1;border:1px solid #c9c9c9;border-radius:3px;padding:7px 6px;font-size:10px;color:#777}
.fz .gd-steps .sc{background:#dbeafe;border-left:3px solid #1769c2;padding:7px 8px;border-radius:2px;font-size:10.5px;position:relative}
.fz .gd-steps .sc b{display:block;font-weight:600;padding-right:30px}.fz .gd-steps .sc i{position:absolute;right:8px;top:7px;font-style:normal;font-size:10px}.fz .gd-steps .sc small{color:#555;font-size:9px}
.fz .gd-cv{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.fz .gd-cv .ch{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border-bottom:1px solid #e0e0e0;font-size:11.5px}
.fz .gd-cv .tg{background:#1769c2;color:#fff;font-size:10px;font-weight:600;padding:5px 8px;border-radius:3px}
.fz .gd-cv .co{border:1px solid #c9c9c9;border-radius:3px;padding:6px 10px;font-size:10.5px;position:relative;width:96px}.fz .gd-cv .co label{position:absolute;top:-6px;left:6px;background:#fff;font-size:8.5px;color:#777;padding:0 2px}
.fz .gd-cv .gd-bd{flex:1;overflow:auto;padding:12px 24px;display:flex;flex-direction:column;gap:8px;align-items:center}
.fz .gd-b{width:100%;max-width:640px;background:#fff;border:1px solid #dcdfe3;border-radius:3px;cursor:pointer}.fz .gd-b.on{border:2px solid #1769c2;margin:-1px}
.fz .gd-b .bh{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:10.5px;color:#555}.fz .gd-b .bh .gr{letter-spacing:-3px;color:#999}.fz .gd-b .bh .ic{color:#666;width:20px;text-align:center;font-size:11px}
.fz .gd-b .bb{padding:0 10px 10px}
.fz .gd-in{border:1px solid #c9c9c9;border-radius:3px;background:#f3f3f3;padding:6px 9px 5px;width:225px;min-height:32px}.fz .gd-in.f{border-color:#1769c2;background:#fff;box-shadow:0 0 0 1px #1769c2}
.fz .gd-in label{display:block;font-size:10px;color:#666}.fz .gd-in span{display:block;font-size:13px;min-height:16px;color:#111}
.fz .gd-in.f span:not(:empty)::after{content:'';display:inline-block;width:1px;height:13px;background:#111;margin-left:1px;vertical-align:-2px;animation:mxblink 1s steps(1) infinite}
.fz .gd-hint{font-size:9.5px;color:#555;margin:3px 0 0 3px}.fz .gd-hint.bad{color:#b3261e}
.fz .gd-empty{border-top:1px solid #eee;text-align:center;padding:14px 0 4px;font-size:11.5px;color:#444}
.fz .gd-ph{position:relative;border-top:1px solid #eee;padding-top:8px;cursor:crosshair;line-height:0}
.fz .gd-photo{width:100%;max-height:300px;object-fit:contain;background:#ececee;display:block;border-radius:2px}.fz .gd-ph.run .gd-photo{max-height:360px}
.fz .gd-co{position:absolute;transform:translate(-50%,-50%);margin-top:4px;width:24px;height:24px;border-radius:50%;background:#c4393b;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);line-height:1}
.fz .gd-cap{display:flex;gap:10px;align-items:center;margin-top:6px;font-size:10.5px;color:#444}.fz .gd-cap span{color:#777}.fz .gd-cap em{font-style:normal;background:#e3f4e6;color:#1d6b32;border-radius:3px;padding:1px 6px;font-size:9.5px}
.fz .gd-key,.fz .gd-colist{margin:6px 0 0;padding-left:20px;font-size:10.5px;color:#333}
.fz .gd-pdf{border-top:1px solid #eee;padding-top:8px}.fz .gd-pdf .bar{display:flex;align-items:center;gap:8px;font-size:10.5px;background:#f1f3f5;padding:5px 8px;border-radius:3px 3px 0 0}.fz .gd-pdf .bar svg{width:13px;height:13px}.fz .gd-pdf .bar span{color:#666;margin-left:auto}
.fz .gd-draw{width:100%;max-height:300px;object-fit:contain;display:block;background:#fff;border:1px solid #e0e0e0}
.fz .gd-right{width:228px;flex:none;background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;min-height:0}
.fz .gd-tb{padding:10px;border-bottom:1px solid #e3e3e3}.fz .gd-tb .th{display:flex;font-size:9.5px;font-weight:600;letter-spacing:.3px;color:#444;margin-bottom:8px}
.fz .gd-tb .gr{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.fz .gd-tb .t{border:1px solid #dcdfe3;border-radius:3px;padding:7px 6px;font-size:10.5px;color:#333;background:#fff;cursor:pointer;display:flex;gap:6px}.fz .gd-tb .t .gp{color:#aaa;letter-spacing:-3px}.fz .gd-tb .t:hover{background:#f4f8fd}
.fz .gd-tb .t.in{cursor:default;color:#555}.fz .gd-tb .t.in:hover{background:#fff}
.fz .gd-tabs{display:flex;border-bottom:1px solid #e3e3e3;flex:none}.fz .gd-tabs div{flex:1;text-align:center;padding:9px 0;font-size:11px;cursor:pointer;color:#444}.fz .gd-tabs .on{border-bottom:2px solid #1769c2;color:#1769c2;font-weight:600}
.fz .gd-pbody{padding:10px 12px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px}
.fz .gd-pbody h5{margin:0;font-size:12px;font-weight:600;color:#1769c2}.fz .gd-pbody h5.sm{color:#333;margin-top:4px}
.fz .gd-mut{margin:0;font-size:10px;color:#555;line-height:1.45}
.fz .gd-f{border:1px solid #c9c9c9;border-radius:3px;padding:7px 8px 5px;position:relative;min-height:30px;font-size:11.5px;flex:1}.fz .gd-f label{position:absolute;top:-6px;left:6px;background:#fff;font-size:8.5px;color:#777;padding:0 2px}
.fz .gd-f.f{border-color:#1769c2;box-shadow:0 0 0 1px #1769c2}.fz .gd-f.f span:not(:empty)::after{content:'';display:inline-block;width:1px;height:12px;background:#111;margin-left:1px;vertical-align:-2px;animation:mxblink 1s steps(1) infinite}
.fz .gd-form{display:flex;flex-direction:column;gap:9px;cursor:text}.fz .gd-two{display:flex;gap:8px;align-items:center}
.fz .gd-up{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfd6dd;border-radius:3px;padding:7px 10px;color:#1769c2;font-size:11px;font-weight:500;cursor:pointer;align-self:flex-start}.fz .gd-up svg{width:14px;height:14px}
.fz .gd-sw{display:flex;align-items:center;gap:8px;font-size:10.5px;cursor:default}.fz .gd-sw[data-act]{cursor:pointer}.fz .gd-sw i{width:26px;height:12px;border-radius:7px;background:#bbb;position:relative;flex:none}
.fz .gd-sw i::after{content:'';position:absolute;left:-1px;top:-2px;width:16px;height:16px;border-radius:50%;background:#8e8e8e;transition:left .15s}.fz .gd-sw.on i{background:#8ab6e8}.fz .gd-sw.on i::after{left:11px;background:#1769c2}
.fz .gd-sw.dis{color:#aaa}.fz .gd-unit{display:flex;border:1px solid #c9c9c9;border-radius:3px;overflow:hidden}.fz .gd-unit i{font-style:normal;padding:7px 9px;font-size:10px;color:#666}.fz .gd-unit .on{background:#e3eefb;color:#1769c2;font-weight:600}
.fz .gd-addr{border:1px solid #cfd6dd;border-radius:3px;padding:8px 10px;color:#1769c2;font-size:11px;font-weight:500;align-self:flex-start}
.fz .gd-pvc{flex:1;min-width:0;overflow:auto;padding:12px 22px;background:#e9edf1}
.fz .gd-info{display:flex;gap:10px;background:#e1effd;border:1px solid #b7d4f5;border-radius:4px;padding:10px 12px;font-size:10.5px;color:#1c3a5c;max-width:740px;margin:0 auto 10px}.fz .gd-info svg{width:15px;height:15px;color:#1769c2;flex:none}
.fz .gd-pc{background:#fff;border:1px solid #dcdfe3;border-radius:4px;padding:12px 14px;max-width:740px;margin:0 auto}.fz .gd-pc small{font-size:9px;color:#666;letter-spacing:.4px}.fz .gd-pc h3{margin:2px 0 8px;font-size:18px;font-weight:600}
.fz .gd-tm{background:#f1f3f5;border-radius:3px;padding:8px 10px;font-size:10.5px;color:#444;margin-bottom:10px;position:relative}.fz .gd-tm b{font-size:20px;color:#111}.fz .gd-tm i{display:block;height:3px;background:#dde3e9;margin-top:6px;position:relative}.fz .gd-tm i::after{content:'';position:absolute;left:0;top:0;height:3px;width:1%;background:#1769c2}
.fz .gd-pb{margin-top:10px}.fz .gd-pf{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #eee}
.fz .gd-log{width:200px;flex:none;background:#f7f9fb;padding:12px;border-left:1px solid #e0e0e0;font-size:10.5px}.fz .gd-log .lh{display:flex;margin-bottom:8px;font-size:11px}.fz .gd-log .rs{color:#1769c2}
.fz .gd-log .le{border-left:3px solid #2e7d32;padding:3px 8px;background:#fff;display:flex;flex-direction:column;gap:2px}

/* Downtime Analysis and Production & Scrap Analysis (rebuilt from the real screens) */
.fz .ps{background:#fff;font-size:12px;color:#222}
.fz .ps-scroll{flex:1;overflow:auto;padding:10px 14px 16px;background:#fff}
.fz .ps .sp{flex:1}
.fz .ps-tb{display:flex;align-items:center;gap:12px;font-size:11px;color:#555;margin-bottom:6px}.fz .ps-tb .sc b{color:#111}
.fz .ps-tb .sel{margin-left:auto;border:1px solid #c9c9c9;border-radius:3px;padding:6px 10px;font-size:10.5px;display:flex;gap:10px;min-width:215px;justify-content:space-between}.fz .ps-tb .sel i{font-style:normal;color:#222}
.fz .ps-rg{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.fz .ps-rg .grp{display:flex;border:1px solid #cfd3d8;border-radius:3px;overflow:hidden}
.fz .ps-b{padding:7px 11px;font-size:11px;border-right:1px solid #cfd3d8;background:#fff;color:#222;cursor:default}.fz .ps-b:last-child{border-right:0}
.fz .ps-b[data-act]{cursor:pointer}.fz .ps-b.on{background:#cfe0f5;font-weight:500}
.fz .ps-prod{flex:1;border:1px solid #c9c9c9;border-radius:3px;padding:7px 10px;font-size:11px;color:#777}
.fz .ps-shift{width:215px;border:1px solid #c9c9c9;border-radius:3px;padding:7px 10px;font-size:11px;display:flex;justify-content:space-between;color:#777}.fz .ps-shift i{font-style:normal;color:#222}
.fz .ps-tabs{display:flex;align-items:center;gap:20px;border-bottom:1px solid #e3e3e3;background:#f1f3f5;padding:0 10px;margin:0 -2px 10px}
.fz .ps-tabs>span{padding:11px 0;font-size:11px;color:#333;cursor:pointer;border-bottom:2px solid transparent;max-width:210px;line-height:1.25}.fz .ps-tabs>span.on{border-bottom-color:#1769c2;color:#111;font-weight:500}
.fz .ps-tabs .x{border:1px solid #1769c2;color:#1769c2;border-radius:3px;padding:6px 10px;font-weight:500;background:#fff;border-bottom:1px solid #1769c2}
.fz .ps-tabs .rf{background:#1769c2;color:#fff;border-radius:3px;padding:7px 11px;font-weight:500;cursor:default}.fz .ps-tabs .ab{color:#1769c2;padding:0;cursor:default;font-weight:500}
.fz .ps-sec h4,.fz .ps-ch h4{margin:0;font-size:12.5px;font-weight:600}.fz .ps-sec>p,.fz .ps-ch>p{margin:2px 0 8px;font-size:10.5px;color:#555}
.fz .ps-kg{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.fz .ps-k{background:#f3f4f6;border-radius:3px;padding:10px 12px;min-height:58px}.fz .ps-k b{display:block;font-size:19px;font-weight:500;color:#111}.fz .ps-k span{display:block;font-size:10.5px;color:#333}.fz .ps-k em{display:block;font-style:normal;font-size:9.5px;color:#666}
.fz .ps-k.bad b{color:#b3261e}
.fz .ps-ch{margin-top:6px}.fz .ps-ch svg{display:block;width:100%;height:auto;shape-rendering:geometricPrecision}.fz .ps-ch small{display:block;font-size:10px;color:#555;margin-top:2px}
.fz .ps-ch .lg{display:flex;gap:12px;font-size:10px;color:#444;margin-bottom:4px;align-items:center}.fz .ps-ch .lg i{display:inline-block;width:8px;height:8px;background:var(--c);margin-right:-6px}
.fz .ps-tbl{font-size:10.5px;margin-top:4px}.fz .ps-tbl .th,.fz .ps-tbl .tr{display:grid;grid-template-columns:1.1fr 1.5fr repeat(7,1fr);gap:6px;padding:7px 4px;border-bottom:1px solid #eee;align-items:center}
.fz .ps-tbl .th{color:#555;font-size:10px;border-bottom:1px solid #ddd}.fz .ps-tbl .id{font-family:ui-monospace,Consolas,monospace;font-size:10px}
.fz .ps-tbl.wide .th,.fz .ps-tbl.wide .tr{grid-template-columns:repeat(var(--n,8),1fr)}

/* SPC Dashboard (rebuilt from the real screen) */
.fz .sp{background:#eef1f4;font-size:12px;color:#222}
.fz .sp-scroll{flex:1;overflow:auto;padding:8px 8px 14px}
.fz .sp-top{display:flex;align-items:center;gap:8px;font-size:11px;color:#444;margin-bottom:8px}.fz .sp-top .sp{flex:1}
.fz .sp-top .bt{border:1px solid #cfd3d8;border-radius:3px;padding:6px 11px;font-size:11px;background:#fff;color:#444}.fz .sp-top .bt.p{background:#1769c2;border-color:#1769c2;color:#fff;font-weight:500}
.fz .sp-fb{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:9px;margin-bottom:8px}
.fz .sp-fb .r1{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin-bottom:8px}.fz .sp-fb .r2{display:flex;gap:8px;align-items:center}
.fz .sp-sel{position:relative;border:1px solid #c9c9c9;border-radius:3px;padding:10px 10px 8px;font-size:11.5px;color:#444;background:#fff;display:flex;justify-content:space-between;min-height:35px;cursor:default}.fz .sp-sel[data-act]{cursor:pointer;border-color:#9bb8dc}
.fz .sp-sel label{position:absolute;top:-6px;left:8px;background:#fff;font-size:8.5px;color:#777;padding:0 3px}.fz .sp-sel i{font-style:normal;color:#666}
.fz .sp-fb .sg{display:flex;border:1px solid #c9c9c9;border-radius:3px;overflow:hidden}.fz .sp-fb .sg span{padding:8px 13px;font-size:11px;border-right:1px solid #c9c9c9;background:#fff;cursor:default}.fz .sp-fb .sg span:last-child{border-right:0}
.fz .sp-fb .sg span[data-act]{cursor:pointer}.fz .sp-fb .sg .on{background:#cfe0f5;font-weight:600;border-bottom:2px solid #1769c2}
.fz .sp-ban{display:flex;align-items:center;gap:10px;border-radius:3px;padding:8px 12px;font-size:12px;margin-bottom:8px;border-left:4px solid}
.fz .sp-ban i{font-style:normal;font-weight:700;width:18px;height:18px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}
.fz .sp-ban.info{background:#e3effc;border-color:#1769c2;color:#12395f}.fz .sp-ban.bad{background:#fdecea;border-color:#c62828;color:#7a1410}.fz .sp-ban span{font-size:11px;font-weight:400}
.fz .sp-empty{background:#fff;border:1px solid #dcdfe3;padding:12px;font-size:11px}.fz .sp-empty b{display:block;font-size:11.5px}.fz .sp-empty small{display:block;color:#555;margin:2px 0 8px}.fz .sp-empty p{margin:0;color:#444}
.fz .sp-main{display:grid;grid-template-columns:1fr 202px;gap:8px;margin-bottom:8px}
.fz .sp-chart{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:8px 10px}.fz .sp-chart .ct{font-size:11px;font-weight:600;border-bottom:2px solid #1769c2;display:inline-block;padding-bottom:5px}
.fz .sp-chart .sub{margin:6px 0 4px;font-size:9.5px;color:#555}.fz .sp-chart .lg{display:flex;gap:10px;font-size:9px;color:#444;margin-bottom:4px}.fz .sp-chart .lg i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-right:-5px}
.fz .sp-chart svg{display:block;width:100%;height:auto;shape-rendering:geometricPrecision}.fz .sp-chart .mt{font-size:9.5px;color:#444;margin-top:4px}
.fz .sp-side{background:#fff;border:1px solid #dcdfe3;border-radius:3px}.fz .sp-side .tabs{display:flex;gap:14px;padding:0 10px;border-bottom:1px solid #e3e3e3}
.fz .sp-side .tabs span{padding:10px 0;font-size:11px;cursor:pointer;border-bottom:2px solid transparent;color:#333}.fz .sp-side .tabs .on{border-bottom-color:#1769c2;color:#1769c2;font-weight:600}
.fz .sp-side .bd{padding:8px 10px}.fz .sp-side p{margin:0 0 8px;font-size:9.5px;color:#555;line-height:1.4}.fz .sp-side .g{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px}
.fz .sp-side .k{background:#f3f4f6;border-radius:3px;padding:8px 9px}.fz .sp-side .k b{display:block;font-size:19px;font-weight:500}.fz .sp-side .k span{font-size:10px;color:#222}.fz .sp-side .k em{display:block;font-style:normal;font-size:9px;color:#666}
.fz .sp-side .k.ok b{color:#1d6b32}.fz .sp-side .k.warn b{color:#b26a00}.fz .sp-side .n{color:#7a4a00;background:#fff3d6;border-radius:3px;padding:6px 8px}
.fz .sp-ooc{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:8px 10px}.fz .sp-ooc h4{margin:0 0 6px;font-size:11.5px;font-weight:600}.fz .sp-ooc h4 small{font-weight:400;color:#555;font-size:10px;margin-left:6px}
.fz .sp-ooc .th,.fz .sp-ooc .tr{display:grid;grid-template-columns:70px 150px 80px 1fr;gap:8px;padding:7px 4px;font-size:10.5px;border-bottom:1px solid #eee}.fz .sp-ooc .th{color:#555;font-size:10px}
.fz .sp-ooc .tr{cursor:pointer}.fz .sp-ooc .tr:hover,.fz .sp-ooc .tr.on{background:#fdf0ef}.fz .sp-ooc .tr .v{font-weight:600;color:#c62828}
.fz .sp-ooc .dt{margin-top:8px;background:#f7f8fa;border-radius:3px;padding:8px 10px;font-size:10.5px}.fz .sp-ooc .dt .rc{display:flex;gap:18px;margin-top:4px;color:#444}

/* Recall & Quarantine (rebuilt from the real screen) */
.fz .lt{background:#eef1f4;font-size:12px;color:#222}
.fz .lt-scroll{flex:1;overflow:auto;padding:0 8px 14px}
.fz .lt .sp{flex:1}
.fz .lt-top{display:flex;gap:22px;border-bottom:1px solid #d8dce0;padding:0 6px;margin:0 -8px 8px;background:#f4f6f8}.fz .lt-top span{padding:11px 2px;font-size:11.5px;color:#444}.fz .lt-top .on{border-bottom:2px solid #1769c2;color:#1769c2;font-weight:600}
.fz .lt-card{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:10px 12px;margin-bottom:8px}
.fz .lt-modes{display:flex;align-items:center;gap:0;margin-bottom:10px}.fz .lt-modes span{border:1px solid #c9ced4;padding:8px 10px;font-size:11px;background:#fff;margin-right:-1px;cursor:default}.fz .lt-modes span[data-act]{cursor:pointer;border-color:#9bb8dc}
.fz .lt-modes .on{background:#dbe9f9;font-weight:600}.fz .lt-modes small{margin-left:12px;color:#555;font-size:10.5px}
.fz .lt-or{display:flex;gap:12px;align-items:flex-start}
.fz .lt-sel{position:relative;border:1px solid #c9c9c9;border-radius:3px;padding:10px 10px 8px;font-size:11.5px;display:flex;justify-content:space-between;min-height:35px;background:#fff;cursor:default;flex:none}
.fz .lt-sel[data-act]{cursor:pointer;border-color:#1769c2;box-shadow:0 0 0 1px #1769c244}.fz .lt-sel label{position:absolute;top:-6px;left:8px;background:#fff;font-size:8.5px;color:#777;padding:0 3px}.fz .lt-sel i{font-style:normal;color:#666}
.fz .lt-sel.d{width:200px}.fz .lt-sel.c{width:92px}.fz .lt-sel small{position:absolute;left:2px;top:38px;font-size:9px;color:#555;white-space:nowrap}
.fz .lt-dp{font-size:9.5px;color:#444;width:112px;padding-top:2px}.fz .lt-dp i{display:block;margin-top:8px;height:3px;background:#1769c2;border-radius:2px}
.fz .lt-run{display:inline-flex;align-items:center;gap:7px;border-radius:3px;padding:10px 14px;background:#e2e2e2;color:#888;font-size:11.5px;font-weight:500;white-space:nowrap}.fz .lt-run svg{width:13px;height:13px}.fz .lt-run.on{background:#1769c2;color:#fff;cursor:pointer}
.fz .lt-es{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:30px;text-align:center;color:#444;margin-top:8px;font-size:11.5px}.fz .lt-es svg{width:30px;height:30px;color:#5d6a77}.fz .lt-es p{margin:8px auto 0;max-width:650px}
.fz .lt-hd{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:8px 10px;margin-bottom:6px;flex-wrap:wrap}.fz .lt-hd b{font-size:13px}
.fz .lt-hd .ch{background:#e8ebef;border:1px solid #cfd3d8;border-radius:3px;padding:2px 7px;font-size:10px}.fz .lt-hd .ch.ok{background:#e3f4e6;border-color:#9fd2aa;color:#1d6b32}.fz .lt-hd .lk{color:#1769c2;font-size:11px;font-weight:500}
.fz .lt-hd .ab{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5d8dc;border-radius:3px;padding:7px 10px;font-size:10.5px;color:#999;background:#fff;white-space:nowrap}.fz .lt-hd .ab svg{width:12px;height:12px}
.fz .lt-hd .ab.on{color:#1769c2;font-weight:500;cursor:pointer;border-color:#c5d4e8}.fz .lt-hd .ab.b{border-color:#1769c2}.fz .lt-hd .ab.t{border-color:transparent}
.fz .lt-hd .ab.on[data-act]{background:#eef5fd}
.fz .lt-rd{font-size:10px;color:#555;margin:0 2px 6px}
.fz .lt-kp{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:6px}.fz .lt-kp .k{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:7px 9px}
.fz .lt-kp .k small{display:block;font-size:9.5px;color:#555}.fz .lt-kp .k b{font-size:15px;font-weight:500}.fz .lt-kp .k em{display:block;font-style:normal;font-size:9px;color:#666}
.fz .lt-kp .am{border-color:#b97b1d}.fz .lt-kp .rd{border-color:#c62828}.fz .lt-kp .bl{border-color:#1769c2}
.fz .lt-in{display:flex;gap:8px;background:#e3effc;border:1px solid #b7d4f5;border-radius:3px;padding:7px 10px;font-size:10px;color:#1c3a5c;margin-bottom:6px}.fz .lt-in svg{width:14px;height:14px;flex:none;color:#1769c2}
.fz .lt-tabs{display:flex;gap:18px;border-bottom:1px solid #d8dce0;margin-bottom:8px}.fz .lt-tabs span{padding:9px 2px;font-size:11px;color:#333;border-bottom:2px solid transparent;cursor:default}.fz .lt-tabs span[data-act]{cursor:pointer}.fz .lt-tabs .on{border-bottom-color:#1769c2;color:#1769c2;font-weight:600}
.fz .lt-ic .card{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:9px 12px;margin-bottom:8px}.fz .lt-ic .card.w{border-left:4px solid #e0a000}
.fz .lt-ic h5{margin:0;font-size:12px;font-weight:600}.fz .lt-ic p{margin:2px 0 6px;font-size:10px;color:#555}
.fz .lt-ic .rows{display:flex;flex-direction:column;margin-top:6px}.fz .lt-ic .rows span{display:grid;grid-template-columns:140px 1fr 160px;gap:8px;padding:5px 0;font-size:10.5px;border-bottom:1px solid #f0f0f0}.fz .lt-ic .rows i{font-style:normal;color:#555}
.fz .tb .th,.fz .tb .tr{display:grid;gap:8px;padding:7px 6px;font-size:10.5px;border-bottom:1px solid #eee;align-items:center}.fz .tb .th{color:#555;font-size:9.5px}
.fz .lt-ic .tb .th,.fz .lt-ic .tb .tr{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}.fz .lt-ic .tb b{display:block;font-family:ui-monospace,Consolas,monospace}.fz .lt-ic .tb small{color:#555;font-size:9px}
.fz .lt-ic .tb .lk{color:#1769c2}.fz .lt-ic .tb .hd{font-style:normal;background:#f8d9d6;color:#8a1e16;border-radius:3px;padding:1px 6px;font-size:9.5px}
.fz .lt-lt .fl{display:flex;gap:8px;margin-bottom:8px}.fz .lt-lt .fl .s{flex:0 0 260px;border:1px solid #c9c9c9;border-radius:3px;padding:8px;font-size:10.5px;color:#777;background:#fff}.fz .lt-lt .fl .sl{flex:0 0 150px;border:1px solid #c9c9c9;border-radius:3px;padding:8px;font-size:10.5px;background:#fff}
.fz .lt-lt .tb{background:#fff;border:1px solid #dcdfe3;border-radius:3px}.fz .lt-lt .tb .th,.fz .lt-lt .tb .tr{grid-template-columns:28px 1fr 1.2fr 1.2fr 0.9fr 0.9fr 0.9fr 0.9fr 2fr}
.fz .lt-lt .tr.on{background:#eaf2fc}.fz .lt-lt .id{font-family:ui-monospace,Consolas,monospace;font-size:10px}.fz .lt-lt small{display:block;margin-top:6px;font-size:9.5px;color:#555}
.fz .cb{display:inline-block;width:13px;height:13px;border:1.5px solid #6b7280;border-radius:2px;background:#fff;vertical-align:middle;cursor:pointer;position:relative}.fz .cb.on{background:#1769c2;border-color:#1769c2}.fz .cb.on::after{content:'';position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fz .st{font-style:normal;font-size:9.5px;border-radius:3px;padding:2px 6px;background:#f0e2c4;color:#6b4b00}.fz .st.Leftsite,.fz .st.Restricted{background:#f8d9d6;color:#8a1e16}.fz .st.Consumed{background:#e5e7ea;color:#444}
.fz .lt-gr{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:8px}.fz .lt-gr .gtb{display:flex;gap:16px;font-size:10px;color:#555;margin-bottom:6px}
.fz .gv{position:relative;height:300px;background-image:radial-gradient(#e6e9ed 1px,transparent 1px);background-size:16px 16px}.fz .gv svg{position:absolute;inset:0;width:100%;height:100%}
.fz .gv .nd{position:absolute;width:17.2%;box-sizing:border-box;background:#fff;border:2px solid #b97b1d;border-radius:4px;padding:6px 10px;font-size:11px}.fz .gv .nd.Leftsite{border-color:#c62828}.fz .gv .nd.Consumed{border-color:#9aa0a6}
.fz .gv .nd b{display:block;font-size:12.5px}.fz .gv .nd small{color:#555;font-size:10px}.fz .gv .nd span{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:10px}.fz .gv .nd i{width:8px;height:8px;border-radius:50%;background:#b97b1d}.fz .gv .Leftsite i{background:#c62828}.fz .gv .Consumed i{background:#9aa0a6}.fz .gv .nd em{margin-left:auto;font-style:normal;color:#555}
.fz .lt-lc{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}.fz .lt-lc .c{background:#fff;border:1px solid #dcdfe3;border-radius:3px;padding:10px 12px;min-height:150px}.fz .lt-lc h5{margin:0 0 8px;font-size:11px;font-weight:600}
.fz .lt-lc .bar{display:grid;grid-template-columns:80px 1fr 130px;gap:8px;align-items:center;font-size:10px;margin-bottom:6px}.fz .lt-lc .bar i{height:6px;background:#b97b1d;border-radius:2px}.fz .lt-lc .bar em{font-style:normal;color:#555;text-align:right}
.fz .lt-lc .tl{display:flex;gap:14px;align-items:flex-end;height:80px;padding:0 10px}.fz .lt-lc .tl i{width:18px;background:#1769c2}

/* Physical Twin (rebuilt from the real boards and designer) */
.fz .dt{background:#fff;font-size:12px;color:#222}
.fz .dt-scroll{flex:1;overflow:auto;padding:12px 14px}
.fz .dt .sp{flex:1}
.fz .dt-bd .h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fz .dt-bd h3{margin:0;font-size:15px;font-weight:500}
.fz .dt-bd .s{border:1px solid #c9c9c9;border-radius:3px;padding:7px 10px;font-size:11px;color:#777;width:190px}.fz .dt-bd .r{color:#1769c2;font-size:11px}.fz .dt-bd .n{background:#1769c2;color:#fff;border-radius:3px;padding:8px 12px;font-size:11px;font-weight:500}
.fz .dt-bd h6{margin:6px 0 8px;font-size:11px;font-weight:600}
.fz .dt-bd .cards{display:flex;gap:12px}.fz .dt-bd .c{width:180px;border:1px solid #dcdfe3;border-radius:4px;background:#fff;padding-bottom:10px;position:relative}
.fz .dt-bd .c .ph{height:88px;background:#ebecee;display:flex;align-items:center;justify-content:center;color:#9aa0a6}.fz .dt-bd .c .ph svg{width:28px;height:28px}
.fz .dt-bd .c b{display:block;margin:10px 10px 4px;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fz .dt-bd .tg{margin:0 10px 4px}.fz .dt-bd .tg i{font-style:normal;background:#e8ebef;border:1px solid #cfd3d8;border-radius:3px;padding:1px 6px;font-size:9.5px;margin-right:4px}
.fz .dt-bd small{display:block;margin:2px 10px 8px;font-size:10px;color:#666}.fz .dt-bd .ed{margin-left:10px;color:#1769c2;font-size:11px;font-weight:500}.fz .dt-bd .ed[data-act]{cursor:pointer}
.fz .dt-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.fz .dt-top h3{margin:0;font-size:15px;font-weight:500}.fz .dt-top small{font-size:10px;color:#555}
.fz .dt-top .pl{background:#1769c2;color:#fff;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:600}.fz .dt-top .lk{color:#1769c2;font-size:11px}
.fz .dt-top .sg{display:flex;border:1px solid #cfd3d8;border-radius:3px;overflow:hidden}.fz .dt-top .sg b{padding:7px 11px;font-size:11px;font-weight:400;border-right:1px solid #cfd3d8;cursor:pointer}.fz .dt-top .sg b:last-child{border-right:0}.fz .dt-top .sg .on{background:#dbe9f9;font-weight:600;color:#1769c2}
.fz .dt-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.fz .dt-f{position:relative;border:1px solid #c9c9c9;border-radius:3px;padding:10px 10px 7px;font-size:11px;min-width:150px;background:#fff;display:flex;justify-content:space-between;gap:8px}
.fz .dt-f.w{min-width:290px}.fz .dt-f label{position:absolute;top:-6px;left:8px;background:#fff;font-size:8.5px;color:#777;padding:0 3px}.fz .dt-f i{font-style:normal;color:#666}
.fz .dt-f.c{border-color:#1769c2;box-shadow:0 0 0 1px #1769c244;cursor:pointer;min-width:130px}
.fz .dt-row .b{border:1px solid #cfd3d8;border-radius:3px;padding:8px 12px;font-size:11px;color:#1769c2;font-weight:500}.fz .dt-row .b.p{background:#1769c2;color:#fff;border-color:#1769c2}
.fz .dt-st{display:flex;gap:18px;font-size:11px;color:#1769c2;margin-bottom:8px;min-height:14px}
.fz .dt-stage{display:flex;gap:10px}
.fz .dt-lib{width:150px;flex:none}.fz .dt-lib .tt,.fz .dt-in .tt{display:flex;border-bottom:1px solid #dcdfe3;margin-bottom:8px}.fz .dt-lib .tt b,.fz .dt-in .tt b{flex:1;text-align:center;font-weight:400;padding:7px 0;font-size:10.5px;color:#444}.fz .dt-lib .tt .on,.fz .dt-in .tt .on{color:#1769c2;font-weight:600;border-bottom:2px solid #1769c2}
.fz .dt-lib .g b{display:block;background:#f1f3f5;padding:8px 10px;font-size:10.5px;font-weight:600;margin-bottom:3px}
.fz .dt-cv{position:relative;flex:1;min-width:0;border:1px solid #e0e0e0;background:linear-gradient(#f4f4f3,#e9e9e7);border-radius:3px;overflow:hidden}
.fz .dt-cv .bar{display:flex;gap:6px;padding:6px 8px;background:#fff;border-bottom:1px solid #e3e3e3;font-size:10.5px}.fz .dt-cv .bar span{border:1px solid #cfd3d8;border-radius:3px;padding:4px 8px;color:#1769c2}.fz .dt-cv .bar .on{background:#dbe9f9;font-weight:600}.fz .dt-cv .bar .sm{font-size:9px}
.fz .dt-fl{width:100%;height:420px;display:block}.fz .dt-fl .eq[data-act]{cursor:pointer}.fz .dt-fl .eq[data-act]:hover rect{opacity:1}
.fz .dt-in{width:206px;flex:none;border-left:1px solid #e3e3e3;padding-left:10px;position:absolute;right:0;top:0;bottom:0;background:#fff;padding:6px 10px}.fz .dt-in p{margin:0 0 6px;font-size:10.5px;color:#444}
.fz .dt-fp{position:absolute;right:10px;top:46px;width:190px;background:#fff;border:1px solid #d5d8dc;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.15);padding:10px 12px;font-size:10.5px}
.fz .dt-fp .h{display:flex;align-items:center;gap:7px}.fz .dt-fp .h i{width:9px;height:9px;border-radius:50%}.fz .dt-fp .h b{font-size:12.5px;flex:1}.fz .dt-fp .x{cursor:pointer;color:#555;font-size:15px}
.fz .dt-fp small{display:block;color:#666;font-size:9.5px;margin:2px 0 6px}.fz .dt-fp .chip{display:inline-block;color:#fff;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:600}
.fz .dt-fp h6{margin:8px 0 3px;font-size:9px;color:#555;letter-spacing:.4px}.fz .dt-fp p{display:flex;justify-content:space-between;margin:0 0 4px}.fz .dt-fp p span{color:#555}
.fz .dt-ft{font-size:9.5px;color:#555;margin-top:5px}

/* Edge Gateway devices and subscriptions (rebuilt from the real screens) */
.fz .eg{background:#fff;font-size:12px;color:#222}
.fz .eg-scroll{flex:1;overflow:auto;padding:0 8px 14px;background:#f6f6f6}
.fz .eg .sp{flex:1}
.fz .eg-fl{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 16px;padding:12px 6px 6px;font-size:10.5px;color:#555}.fz .eg-fl div{border-bottom:1px solid #cfcfcf;padding:6px 2px}
.fz .eg-tbr{display:flex;gap:6px;align-items:center;padding:6px}.fz .eg-tbr span{width:34px;height:30px;border-radius:3px;background:#d9d9d9;display:flex;align-items:center;justify-content:center;color:#888;font-size:12px}.fz .eg-tbr .s{background:#d6504f;color:#fff}.fz .eg-tbr .dc{width:auto;padding:0 10px;background:#1976d2;color:#fff;font-size:10.5px}
.fz .eg-g{background:#f1f1f1;border:1px solid #ddd;font-size:10.5px}.fz .eg-g .th,.fz .eg-g .tr{display:grid;grid-template-columns:24px 1fr 1fr 1fr 1fr .7fr 1fr 1fr .6fr .8fr .5fr .8fr 1fr;gap:8px;padding:6px 8px;align-items:center;border-bottom:1px solid #e3e3e3}
.fz .eg-g.d .th,.fz .eg-g.d .tr{grid-template-columns:24px .5fr 1.4fr 1fr 1.4fr .4fr 1.2fr 1fr}.fz .eg-g.s .th,.fz .eg-g.s .tr{grid-template-columns:24px 2.6fr 3fr 1.3fr .7fr}
.fz .eg-g .th{color:#555;font-size:10px}.fz .eg-g .lk{color:#1565c0;text-decoration:underline;cursor:default}.fz .eg-g .lk[data-act]{cursor:pointer;background:#e6f0fb}.fz .eg-g .ok{display:block;background:#4caf50;color:#fff;padding:4px 6px;font-weight:400}
.fz .eg-g .cb{display:inline-block;width:12px;height:12px;border:1.5px solid #777;border-radius:2px;background:#fff}
.fz .eg-ct{font-size:9.5px;color:#555;padding:8px 4px}
.fz .eg-tabs{display:flex;gap:30px;background:#c8c8c8;padding:0 28px;margin:0 -8px 4px}.fz .eg-tabs span{padding:12px 4px;font-size:10.5px;letter-spacing:.4px;color:#444;cursor:default}.fz .eg-tabs span[data-act]{cursor:pointer;color:#222}.fz .eg-tabs .on{border-bottom:2px solid #d6504f;color:#222;font-weight:500}
.fz .eg-det{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:12px 6px;background:#f6f6f6}.fz .eg-det.s{grid-template-columns:1fr 1fr}
.fz .eg-det .c{display:flex;flex-direction:column;gap:8px}.fz .eg-det h6{margin:0;font-size:10.5px;font-weight:600;color:#333}.fz .eg-det label{font-size:9px;color:#666}.fz .eg-det b{font-size:11.5px;font-weight:500}.fz .eg-det .lk{color:#1565c0;text-decoration:underline}
.fz .eg-det p{margin:0;font-size:10.5px;color:#333}.fz .eg-det p.ds{background:#d7d7d7;padding:8px;border-radius:2px}
.fz .eg-f{position:relative;border-bottom:1px solid #bdbdbd;padding:9px 2px 4px;font-size:11px;min-height:28px}.fz .eg-f label{position:absolute;top:0;left:2px;font-size:8.5px;color:#666}.fz .eg-f.tp{background:#e6f0fb;border-bottom-color:#1565c0}
.fz .eg-det .js{font-family:ui-monospace,Consolas,monospace;font-size:9.5px;color:#2e7d32;background:#fff;padding:6px 8px;border:1px solid #e0e0e0}
.fz .eg-det .tree{border:1px solid #d9d9d9;background:#fff;padding:8px 10px;display:flex;flex-direction:column;gap:5px;font-size:10.5px}
.fz .gd-ban.bad{background:#fdecea;border-left-color:#b3261e}.fz .gd-ban.bad svg{color:#b3261e}
.fz .gd-sg{display:flex;align-items:center;gap:10px;border:1px dashed #b9c4d0;border-radius:4px;padding:8px 10px;margin-top:10px;font-size:11.5px}.fz .gd-sg svg{width:16px;height:16px;color:#6b7b8c;flex:none}
.fz .gd-sg.on{border-style:solid;border-color:#2e7d32;background:#f1f8f2}.fz .gd-sg.on svg{color:#2e7d32}
.fz .gd-log .le+.le{margin-top:6px}.fz .gd-log .le.bad{border-left-color:#b3261e}
