:root{
  /* Palette inspired by the Silver Arrows team colours (teal, silver, black), toned for an engineering UI */
  --bg:#edeff1;--panel:#ffffff;--ink:#15181b;--ink2:#444b53;--muted:#6b737c;--line:#d5d9de;--line2:#e7eaed;
  --nav:#111315;--nav2:#1d2023;--navink:#c3c8cd;--accent:#00857f;--accent2:#006b66;--accentbg:#ddf3f1;--teal:#00d2be;--silver:#a8aeb4;--graphite:#2a2f33;
  --green:#2e9e5b;--yellow:#e0b83a;--orange:#e8862a;--red:#d4452c;--dred:#8e1b1b;--grey:#9aa7b4;--blue:#2d6cdf;
  --shadow:0 1px 2px rgba(17,19,21,.06),0 4px 14px rgba(17,19,21,.07);--r:10px;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--accent2);text-decoration:none;cursor:pointer}a:hover{text-decoration:underline}
button{font:inherit}
.hidden{display:none!important}
/* ---------- auth screens (full-bleed engineering background; content kept on the clean left side) ---------- */
.auth{min-height:100vh;background:#060b14 url(/bg.jpg) right center/cover no-repeat;position:relative;display:flex}
.auth:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,17,.94) 0%,rgba(5,9,17,.86) 34%,rgba(5,9,17,.45) 58%,rgba(5,9,17,0) 78%);pointer-events:none}
.auth-panel{position:relative;z-index:1;width:min(620px,100%);min-height:100vh;display:flex;flex-direction:column;padding:34px 48px;gap:20px}
.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-top .brand .bname{font-size:22px;letter-spacing:.5px}.auth-top .brand .bsub{font-size:13px;color:#9fe7e1;font-style:italic;letter-spacing:.3px}
.auth-lang{width:auto;background:rgba(255,255,255,.08);color:#e6edf2;border-color:rgba(255,255,255,.2)}.auth-lang option{color:#15181b}
.auth-form{flex:1;display:flex;align-items:center}
.auth-card{width:100%;max-width:440px;background:rgba(255,255,255,.97);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.45);padding:30px;border-top:3px solid var(--teal)}
.auth-card h2{margin:0 0 6px;font-size:22px}.auth-card .sub{color:var(--ink2);margin-bottom:18px}
.auth-foot{display:flex;flex-direction:column;gap:10px}
.auth-foot .chips{margin-top:0}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.3px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chips span{border:1px solid rgba(168,174,180,.45);border-radius:999px;padding:4px 10px;font-size:12px;color:#dfe3e6;background:rgba(0,0,0,.25)}
.geo{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 12px;border:1px solid #bfe3df;background:#eef7f6;border-radius:8px}
.geo .pin{font-size:20px;color:var(--accent);line-height:1}
input[readonly]{background:#eef1f3;color:#444b53}
@media (max-width:900px){.auth{background-position:70% center}.auth:before{background:rgba(5,9,17,.82)}.auth-panel{padding:20px 16px}}
.brand .logo{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,#00857f,#00a19c);display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;letter-spacing:.5px;flex:none}
.brand .logo.halo{background:radial-gradient(circle at 50% 50%,#0b1418 0 40%,transparent 41%),conic-gradient(from 210deg,#00d2be,#00857f,#a8aeb4,#00d2be);border-radius:50%;box-shadow:0 0 14px rgba(0,210,190,.45)}
.brand .logo.halo i{display:block;width:10px;height:10px;border-radius:50%;background:#00d2be;box-shadow:0 0 8px #00d2be}
.brand .logo.img{width:auto;max-width:150px;height:40px;background:none;box-shadow:none;border-radius:4px;object-fit:contain}
.brand .bname{color:#fff}.brand .bsub{font-size:11px;color:var(--silver);font-weight:500;letter-spacing:.2px}
.auth-note{color:#9aa2a9}
/* ---------- forms ---------- */
label.f{display:block;margin:10px 0 4px;font-weight:600;font-size:12.5px;color:var(--ink2)}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,133,127,.25);border-color:var(--accent)}
textarea{min-height:80px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.row4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:760px){.row2,.row3,.row4{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600}
.btn:hover{border-color:#b5bcc3;background:#f6f7f8}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}
.btn.danger{background:#fff;border-color:#e3b1a8;color:#b3261e}.btn.warn{background:#fff7e8;border-color:#f0c77e;color:#7a4b00}
.btn.big{padding:12px 20px;font-size:15px}.btn.sm{padding:4px 9px;font-size:12.5px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.calc{background:linear-gradient(135deg,#006b66,#00857f 55%,#00a19c);border:0;color:#fff;padding:13px 22px;font-size:15px;letter-spacing:.6px;box-shadow:0 6px 16px rgba(0,133,127,.3)}
.link{background:none;border:0;color:var(--accent2);cursor:pointer;padding:0;font-weight:600}
/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%}
.side{background:var(--nav);color:var(--navink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}
.side .brand{padding:18px 18px 14px;color:#fff;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:inset 0 -2px 0 var(--accent)}
.side nav{padding:10px 8px;flex:1}
.side .grp{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#7e878f;margin:14px 12px 6px}
.side a.nv{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:var(--navink);text-decoration:none;font-weight:500}
.side a.nv:hover{background:var(--nav2);color:#fff}.side a.nv.on{background:#23282c;color:#fff;box-shadow:inset 3px 0 0 var(--teal)}
.side a.nv .badge{margin-left:auto;background:var(--accent);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}
.side .foot{padding:12px 16px;font-size:12px;color:#7e878f;border-top:1px solid rgba(255,255,255,.06)}
.main{min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;padding:10px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .search{flex:1;max-width:520px;position:relative}
.top .search input{padding-left:34px;background:#f3f4f6}
.top .search:before{content:"⌕";position:absolute;left:11px;top:6px;color:var(--muted);font-size:18px}
.results{position:absolute;top:42px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:420px;overflow:auto;z-index:30}
.results a{display:block;padding:8px 12px;border-bottom:1px solid var(--line2);color:var(--ink)}
.results a small{display:block;color:var(--muted)}
.ws{font-size:12px;border-radius:999px;padding:4px 10px;font-weight:700;border:1px solid var(--line)}
.ws.test{background:#fff3e0;color:#9a4c00;border-color:#f4c38a}
.ws.prod{background:#e8f5ee;color:#1d6b40;border-color:#b6dcc6}
.testbanner{background:repeating-linear-gradient(45deg,#fff3e0,#fff3e0 12px,#ffe7c4 12px,#ffe7c4 24px);color:#8a4300;text-align:center;font-weight:700;padding:5px;font-size:12.5px;border-bottom:1px solid #f4c38a}
.user{display:flex;align-items:center;gap:8px;font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;background:#e2e5e8;display:grid;place-items:center;font-weight:700;color:#2e3439;box-shadow:inset 0 0 0 2px var(--accent)}
.bell{position:relative;cursor:pointer;font-size:18px;padding:4px 6px}.bell .dot{position:absolute;top:0;right:0;background:var(--red);color:#fff;border-radius:999px;font-size:10px;padding:0 5px}
.content{padding:22px;max-width:1500px;width:100%}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.ph h1{font-size:22px;margin:0}.ph .crumbs{color:var(--muted);font-size:12.5px;margin-bottom:4px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;margin-bottom:16px}
.card h3{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px}
.card h3 .sp{flex:1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:1100px){.grid2,.grid3{grid-template-columns:1fr}}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;transition:.12s}
.kpi:hover{border-color:var(--accent);transform:translateY(-1px)}
.kpi .v{font-size:26px;font-weight:800;letter-spacing:-.5px}.kpi .l{font-size:12px;color:var(--ink2)}
.kpi.na{cursor:default;opacity:.6}.kpi.na:hover{transform:none;border-color:var(--line)}
.kpi.red .v{color:var(--red)}.kpi.orange .v{color:var(--orange)}.kpi.dred .v{color:var(--dred)}.kpi.grey .v{color:var(--grey)}
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px;border-bottom:1px solid var(--line);background:#f7f8f9;position:sticky;top:0}
table.t td{padding:8px;border-bottom:1px solid var(--line2);vertical-align:top}
table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:#eef6f5}
.tw{overflow:auto;max-height:600px;border:1px solid var(--line2);border-radius:8px}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}
.pill.g{background:#e3f4ea;color:#1d6b40}.pill.y{background:#fbf2d5;color:#7b5b00}.pill.o{background:#fde8d4;color:#8a4300}.pill.r{background:#fbe0da;color:#9b2a18}.pill.dr{background:#8e1b1b;color:#fff}.pill.gr{background:#eceef0;color:#555d65}.pill.b{background:#e3ecfb;color:#1f4fa8}.pill.t{background:var(--accentbg);color:var(--accent2)}
.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono);font-size:12.5px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow:auto}
.tabs button{border:0;background:none;padding:10px 14px;cursor:pointer;color:var(--ink2);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.on{color:var(--accent2);border-bottom-color:var(--accent)}
/* ---------- risk matrix ---------- */
.matrix{display:grid;grid-template-columns:34px repeat(5,1fr);grid-template-rows:repeat(5,64px) 30px;gap:4px;max-width:560px}
.matrix .cell{border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff;cursor:pointer;position:relative;transition:.1s;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.matrix .cell:hover{transform:scale(1.04);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.matrix .cell small{position:absolute;top:4px;left:6px;font-size:10px;font-weight:600;opacity:.85}
.matrix .cell.zero{opacity:.45;font-size:15px}
.matrix .ax{display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700}
.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.legend span{display:inline-flex;align-items:center;gap:5px;font-size:12px}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
/* ---------- thread ---------- */
.thread{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 14px}
.thread .n{background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:12px}
.thread .n.on{border-color:var(--accent);background:var(--accentbg);color:var(--accent2);font-weight:700}
.thread .a{color:var(--muted)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line2)}
.steps li:before{counter-increment:s;content:counter(s);width:22px;height:22px;border-radius:50%;background:#e6e9ec;color:#3a4046;display:grid;place-items:center;font-size:11.5px;font-weight:700;flex:none}
.eq{font-family:var(--mono);font-size:12px;color:#2e3a40;background:#f2f4f5;border-radius:6px;padding:2px 6px}
.flow{display:flex;gap:0;align-items:stretch;margin:6px 0 12px;flex-wrap:wrap}
.flow .s{flex:1;min-width:140px;padding:10px 12px;border:1px solid var(--line);background:#fff;position:relative;font-size:12.5px}
.flow .s:first-child{border-radius:10px 0 0 10px}.flow .s:last-child{border-radius:0 10px 10px 0}
.flow .s.done{background:#e8f5ee;border-color:#b6dcc6}.flow .s.cur{background:#fff7e8;border-color:#f0c77e;font-weight:700}.flow .s.rej{background:#fbe0da}
.flow .s b{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.note{background:#eef7f6;border:1px solid #bfe3df;border-radius:8px;padding:10px 12px;font-size:12.5px;color:#0e5652}
.warnbox{background:#fff7e8;border:1px solid #f0c77e;border-radius:8px;padding:10px 12px;font-size:12.5px;color:#7a4b00}
.warnbox ul,.note ul{margin:4px 0 0 18px;padding:0}
/* ---------- error box (always visible on failure) ---------- */
#errbox{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:1000;max-width:760px;width:calc(100% - 32px);background:#fdecea;border:2px solid #c62828;color:#8e1b1b;border-radius:10px;padding:12px 40px 12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:13.5px}
#errbox b{display:block;margin-bottom:2px}#errbox .x{position:absolute;right:10px;top:8px;background:none;border:0;font-size:20px;color:#8e1b1b;cursor:pointer}
#errbox .code{font-family:var(--mono);font-size:11.5px;opacity:.8;margin-top:4px}
#toast{position:fixed;right:18px;top:70px;z-index:900;background:#1d2023;border-left:4px solid var(--teal);color:#fff;border-radius:8px;padding:10px 14px;box-shadow:var(--shadow);font-size:13px;max-width:380px}
.modal{position:fixed;inset:0;background:rgba(12,14,16,.5);display:grid;place-items:center;z-index:800;padding:16px}
.modal .box{background:#fff;border-radius:12px;max-width:620px;width:100%;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;overflow:auto}
.modal .box h3{margin-top:0}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid #cfe3e1;border-top-color:var(--accent);border-radius:50%;animation:sp .8s linear infinite;vertical-align:middle}
@keyframes sp{to{transform:rotate(360deg)}}
.progress{height:10px;background:#e4e7ea;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#00857f,#00d2be);transition:width .2s}
details summary{cursor:pointer;font-weight:600;color:var(--ink2);padding:4px 0}
.dm{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff}
.dm .hd{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.dm .bd{padding:10px 12px}
.bar{display:flex;height:22px;border-radius:6px;overflow:hidden;background:#eceef0}.bar i{display:block;height:100%}
.chart{width:100%;height:180px}
.help{font-size:12px;color:var(--muted);margin-top:3px}
.kv{display:grid;grid-template-columns:200px 1fr;gap:4px 12px;font-size:13px}.kv div:nth-child(odd){color:var(--muted)}
@media print{.side,.top,.testbanner,#errbox,.noprint,.tabs{display:none!important}.shell{display:block}.content{padding:0}.card{box-shadow:none;break-inside:avoid}body{background:#fff}}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{position:static;height:auto}
  .side nav{display:flex;flex-wrap:wrap;gap:2px}
  .side .grp{width:100%;margin:8px 8px 2px}
  .side a.nv{padding:6px 10px;font-size:13px}
  .side .foot{display:none}
  .top{flex-wrap:wrap;padding:10px 12px}.top .search{max-width:none;min-width:100%}
  .user>div:nth-child(2){display:none}
  .content{padding:14px}
  .matrix{grid-template-rows:repeat(5,48px) 26px}
}

/* ---------- branding ---------- */
.rep-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:3px solid var(--accent)}
.rep-brand .rep-logo{width:44px;height:44px;border-radius:9px;background:linear-gradient(135deg,#00857f,#00a19c);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}
.rep-brand .rep-logo.halo{background:radial-gradient(circle,#fff 0 40%,transparent 41%),conic-gradient(from 210deg,#00d2be,#00857f,#a8aeb4,#00d2be);border-radius:50%}
.rep-brand .rep-logo.halo i{display:block;width:10px;height:10px;border-radius:50%;background:#00857f}
.rep-brand .rep-logo.img{width:auto;max-width:180px;height:48px;background:none;object-fit:contain}
.logo-prev{min-width:120px;height:56px;border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;padding:4px 8px;background:#1d2023}
.logo-prev img{max-height:46px;max-width:200px;object-fit:contain}
.side .brand.stack{flex-direction:column;align-items:flex-start;gap:8px}.side .brand.stack .logo.img{max-width:200px;height:44px}

/* ---------- statistics ---------- */
.hbars{display:flex;flex-direction:column;gap:8px}
.hb{display:grid;grid-template-columns:160px 1fr;gap:4px 10px;align-items:center}
.hb-l{font-size:12.5px;font-weight:600}.hb-t{height:12px;background:#eceef0;border-radius:6px;overflow:hidden}.hb-t i{display:block;height:100%;background:var(--accent);border-radius:0 6px 6px 0}
.hb-v{grid-column:2}
@media (max-width:760px){.hb{grid-template-columns:1fr}.hb-v{grid-column:1}}
/* ---------- modular platform ---------- */
.side .subnav{margin:2px 0 6px 14px;padding-left:8px;border-left:1px solid rgba(255,255,255,.1)}
.side .subnav a.nv{padding:6px 10px;font-size:13px}
.side a.nv.soon{color:#8a9299}.side a.nv.soon:hover{color:#c3c8cd}
.side .soon-tag{margin-left:auto;font-size:10px;letter-spacing:.4px;text-transform:uppercase;border:1px solid rgba(168,174,180,.4);border-radius:999px;padding:0 7px;color:#a8aeb4}
.top .company{font-size:12.5px;font-weight:700;color:var(--ink2);background:#f1f3f5;border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap}
.mtag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;border-radius:999px;padding:2px 9px}
.mtag.active{background:#ddf3f1;color:#006b66}.mtag.coming_soon{background:#eceef0;color:#4b535b}.mtag.under_development{background:#fff3e0;color:#8a4a00}.mtag.disabled{background:#fbe0da;color:#9b2a18}.mtag.hidden{background:#eceef0;color:#777}
.hero{display:flex;justify-content:space-between;gap:16px;align-items:stretch;background:linear-gradient(120deg,#0b0d10 0%,#1b1f23 55%,#21302f 100%);color:#eef1f3;border-radius:14px;padding:22px 24px;margin-bottom:16px;border-left:4px solid var(--teal);flex-wrap:wrap}
.hero h1{margin:4px 0;font-size:26px;letter-spacing:-.3px}.hero-greet{color:#9fe7e1;font-weight:600}.hero-sub{color:#a8aeb4;font-size:13px}
.hero-co{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;min-width:200px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.hero-co .small{color:#a8aeb4}.hero-co b{font-size:16px}
.home-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
@media (max-width:1100px){.home-grid{grid-template-columns:1fr}}
h2.sec{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:6px 0 10px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:18px}
.mgrid.three{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.mcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:.12s;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}
.mcard.active{border-top:3px solid var(--accent)}.mcard.active:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.mcard.soon{background:linear-gradient(180deg,#fafbfb,#f3f5f6);border-style:dashed}.mcard.soon:hover{border-color:#b5bcc3}
.mc-head{display:flex;justify-content:space-between;align-items:center}
.mc-code{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent2);letter-spacing:1px}
.mc-name{font-size:18px;font-weight:800;letter-spacing:-.2px}.mc-title{font-size:12.5px;color:var(--ink2);font-weight:600}
.mc-desc{font-size:13px;color:var(--ink2);line-height:1.45}
.mc-subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.mc-sub{font-size:11.5px;border-radius:999px;padding:2px 8px;border:1px solid var(--line)}.mc-sub.on{color:#006b66;border-color:#bfe3df;background:#eef7f6}.mc-sub.off{color:#777}
.mc-note{font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:6px;margin-top:auto}
.card.info .kv{font-size:12.5px}
a.recent{display:block;padding:7px 0;border-bottom:1px solid var(--line2);color:var(--ink);font-size:12.5px}a.recent:hover{text-decoration:none;background:#f6f8f8}
.mod-desc{font-size:14.5px;line-height:1.55;max-width:900px}
.chips.light span{border-color:var(--line);color:var(--ink2);background:#f6f7f8}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:6px}.qa a{border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink);font-size:13px;font-weight:600}.qa a:hover{border-color:var(--accent);text-decoration:none}
.soon-card{max-width:760px;display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--silver)}
.soon-card h2{margin:4px 0}.soon-big{font-size:22px;font-weight:800;letter-spacing:2px;color:var(--accent2);margin:6px 0}
.soon-card .btn{align-self:flex-start}
.top .search{min-width:220px}
.user>div:nth-child(2){min-width:0;max-width:280px}.user>div:nth-child(2) .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.soon-card .mtag{align-self:flex-start}

/* ---------- release 1.2 core: shell, responsive layout (desktop / iPad / phone), combobox, modals ---------- */
.grow{flex:1}
.burger{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:18px;padding:4px 10px;cursor:pointer}
.scrim{display:none}
.side a.nv .ico{width:18px;text-align:center;flex:none}.side a.nv .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis}
.top .company{cursor:default}.top button.company{cursor:pointer}.top .company.viewing{background:#fff3e0;border-color:#f4c38a;color:#8a4a00}
.top .company .vtag{margin-left:6px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:#8a4a00;color:#fff;border-radius:999px;padding:1px 6px}
.viewbanner{background:#fff3e0;color:#8a4300;text-align:center;font-weight:600;padding:6px;font-size:12.5px;border-bottom:1px solid #f4c38a}
.user .uinfo{min-width:0;max-width:300px;line-height:1.25}.user .uname{font-weight:700}.user .urole,.user .uaccess{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.bell{background:none;border:0}
#toast.k-super{border-left-color:#f0a020;background:#2a2316;max-width:460px}
.ph-a{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.helpbtn{border-radius:50%!important;width:30px;height:30px;justify-content:center;padding:0!important;font-weight:800;color:var(--accent2)}
.modal .box.wide{max-width:1000px}
.modal .mhead{display:flex;align-items:center;gap:10px;margin-bottom:8px}.modal .mhead h3{margin:0;flex:1}
.modal .mhead .x{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px}
.modal .mfoot{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap;position:sticky;bottom:-20px;background:#fff;padding:10px 0 0;border-top:1px solid var(--line2)}
.fw{min-width:0}.req{color:var(--red)}
table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.t td.empty{text-align:center;padding:16px}
table.t tr.filters th{background:#fff;padding:4px;position:sticky;top:33px;text-transform:none;letter-spacing:0}
table.t tr.filters input,table.t tr.filters select{padding:4px 6px;font-size:12px;border-radius:6px;min-width:60px}
table.t.dense td{padding:5px 8px}
.tw.tall{max-height:75vh}
/* combobox */
.combo{position:relative}
.combo-list{position:absolute;left:0;right:0;top:calc(100% + 2px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-height:300px;overflow:auto;z-index:900}
.combo-opt{padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--line2);font-size:13px;display:flex;flex-direction:column}
.combo-opt small{color:var(--muted);font-size:11.5px}.combo-opt:hover,.combo-opt.on{background:#eef6f5}
.combo-foot{padding:6px 10px;background:#f7f8f9;font-size:12px;position:sticky;bottom:0}
/* notifications */
.notif{border-bottom:1px solid var(--line2);padding:8px 0}.notif.read{opacity:.6}
.notif .nh{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notif .nact{display:flex;gap:12px;margin-top:4px}
/* company switcher */
.co-list{display:flex;flex-direction:column;gap:6px}
.co-item{display:flex;gap:8px;align-items:center;flex-wrap:wrap;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}
.co-item:hover{border-color:var(--accent)}.co-item.on{border-color:var(--accent);background:var(--accentbg)}
/* passkey button */
.btn.passkey{justify-content:center;background:#111315;color:#fff;border-color:#111315}.btn.passkey:hover{background:#23282c}
.pk-ico{display:inline-block;width:18px;height:18px;border:2px solid #00d2be;border-radius:6px;position:relative}
.pk-ico:after{content:"";position:absolute;left:4px;top:3px;width:6px;height:8px;border:2px solid #00d2be;border-top:0;border-radius:0 0 4px 4px}
/* status chips used across modules */
.chipbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chipbar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink2)}
.chipbar button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar>*{width:auto}.toolbar select,.toolbar input{max-width:260px}
.empty-state{text-align:center;padding:28px;color:var(--muted)}
.tag-list{display:flex;flex-wrap:wrap;gap:4px}

/* ---------- responsive: iPad landscape (≤ 1280), iPad portrait (≤ 1024), phone (≤ 700) ---------- */
@media (max-width:1280px){
  .shell{grid-template-columns:220px 1fr}
  .user .uinfo{max-width:200px}.user .urole,.user .uaccess{max-width:200px}
  .content{padding:18px}
}
@media (max-width:1024px){
  .shell{grid-template-columns:1fr}
  .burger{display:inline-block}
  .side{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:950;transform:translateX(-100%);transition:transform .2s ease;height:100vh}
  .side nav{display:block}
  .side .grp{width:auto;margin:14px 12px 6px}
  .side .foot{display:block}
  .shell.nav-open .side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4)}
  .shell.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:940}
  .top{flex-wrap:wrap;padding:8px 12px;gap:8px}
  .top .search{order:9;flex:1 1 100%;max-width:none;min-width:0}
  .user .uinfo{display:none}
  .row4{grid-template-columns:repeat(2,1fr)}
  .grid3{grid-template-columns:1fr 1fr}
  .kv{grid-template-columns:160px 1fr}
  .modal .box{max-width:96vw}
}
@media (max-width:700px){
  .row2,.row3,.row4,.grid2,.grid3{grid-template-columns:1fr}
  .content{padding:12px}
  .ph h1{font-size:19px}
  .user .btn.sm{padding:4px 7px}
  .top .company{max-width:150px;overflow:hidden;text-overflow:ellipsis}
  .kv{grid-template-columns:1fr}.kv div:nth-child(odd){margin-top:6px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .tabs button{padding:8px 10px}
  .modal{padding:6px}.modal .box{padding:14px;max-height:96vh}
  .flow .s{min-width:46%}
}
/* audit 2026-10 (11.3): sortable and resizable table headers (widths / sort stored per user) */
table.t th.sortable { cursor: pointer; user-select: none; }
table.t th.sortable:hover { text-decoration: underline; }
table.t th { position: relative; }
table.t th .t-rz { position: absolute; top: 0; right: -3px; width: 7px; height: 100%; cursor: col-resize; z-index: 2; }
table.t th .t-rz:hover { background: var(--accent, #2a7); opacity: .35; }
table.t.t-fixed td { overflow: hidden; text-overflow: ellipsis; }
@media (pointer: coarse) { table.t th .t-rz { width: 14px; right: -7px; } }
.ft-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}
/* audit 2026-10 (4.1): date inputs aligned with the other fields on every browser — Safari / iOS give them their own
   height, inner padding and centred text, which made "Licence expiry" sit out of line in the company form */
input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;min-width:0;min-height:40px;line-height:1.25;text-align:left}
input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type=date]::-webkit-datetime-edit{padding:0}
/* printed reports (all modules): sections flow across pages; headings stay with their content, table rows are not split */
@media print{.report-page .card{break-inside:auto!important}.report-page h2,.report-page h3{break-after:avoid}.report-page tr{break-inside:avoid}.report-page .shell,.report-page{min-height:0!important}}

/* v1.3 left navigation: 8 collapsible groups; fixed / auto-hide (icon rail, opens on hover or keyboard focus) / hidden */
.side a.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.side nav{padding:8px 8px 4px}
.side .ng{margin:2px 0}
.side .ng-h{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:8px;color:#e6e9ec;font-weight:650;font-size:13.5px;cursor:pointer;letter-spacing:.2px}
.side .ng-h:hover{background:var(--nav2)}.side .ng-h:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.side .ng-h .ico{width:18px;text-align:center;flex:none;opacity:.9}.side .ng-h .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side .ng-h .chev{flex:none;font-size:11px;opacity:.6;transition:transform .15s ease}
.side .ng.open>.ng-h .chev{transform:rotate(90deg)}
.side .ng-body{display:none;margin:2px 0 6px 14px;padding-left:8px;border-left:1px solid rgba(255,255,255,.1)}
.side .ng.open>.ng-body{display:block}
.side .ng-body a.nv{padding:6px 10px;font-size:13px}
.side .ng.soon>.ng-h{color:#8a9299}.side .ng .soon-tag{margin-left:0}
.side a.nv .lbl,.side .ng-h .lbl{white-space:nowrap}
.side .navctl{padding:8px 12px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:6px}
.side .navmode{display:flex;gap:4px}
.side .navmode button{all:unset;box-sizing:border-box;flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 4px;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#aeb5bb;font-size:11.5px;cursor:pointer;white-space:nowrap}
.side .navmode button:hover{color:#fff;border-color:rgba(255,255,255,.3)}.side .navmode button.on{background:#23282c;color:#fff;border-color:var(--teal)}
.side .navmode button:focus-visible{outline:2px solid var(--teal)}
.side .navall{display:flex;justify-content:space-between}.side .navall .link{color:#9aa3aa;font-size:11.5px}.side .navall .link:hover{color:#fff}
/* hidden: panel removed, ☰ in the top bar shows it again */
.burger{display:inline-block}
.shell.nav-hidden{grid-template-columns:0 1fr}.shell.nav-hidden .side{visibility:hidden;width:0;overflow:hidden}
/* auto-hide: 60 px icon rail; expands as an overlay on hover / focus */
.shell.nav-auto{grid-template-columns:60px 1fr}
.shell.nav-auto .side{width:60px;overflow:hidden;z-index:900;transition:width .18s ease,box-shadow .18s ease}
.shell.nav-auto .side:hover,.shell.nav-auto .side:focus-within{width:270px;box-shadow:0 0 40px rgba(0,0,0,.35);overflow-y:auto}
.shell.nav-auto .side:not(:hover):not(:focus-within) .lbl,.shell.nav-auto .side:not(:hover):not(:focus-within) .chev,.shell.nav-auto .side:not(:hover):not(:focus-within) .bt,
.shell.nav-auto .side:not(:hover):not(:focus-within) .navall,.shell.nav-auto .side:not(:hover):not(:focus-within) .foot,.shell.nav-auto .side:not(:hover):not(:focus-within) .soon-tag,
.shell.nav-auto .side:not(:hover):not(:focus-within) .badge{display:none}
.shell.nav-auto .side:not(:hover):not(:focus-within) .ng-body{margin-left:0;padding-left:0;border-left:0}
.shell.nav-auto .side:not(:hover):not(:focus-within) .navmode{flex-direction:column}
.shell.nav-auto .side:not(:hover):not(:focus-within) .brand{padding:14px 10px}
.deldlg ul{margin:6px 0 0 18px;padding:0}.deldlg li{margin:2px 0}
.btn.danger{background:#b3261e;border-color:#b3261e;color:#fff}.btn.danger:hover{background:#8f1d17}
@media (max-width:900px){
  .shell.nav-hidden,.shell.nav-auto{grid-template-columns:1fr}
  .shell.nav-hidden .side,.shell.nav-auto .side{visibility:visible;width:280px}
  .side .navmode{display:none}
}
@media print{.navctl{display:none!important}}
.reg-steps{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 2px}.reg-steps span{font-size:12px;padding:3px 9px;border-radius:999px;background:#eef1f3;color:var(--muted)}
.reg-steps span.on{background:var(--teal);color:#fff}.reg-steps span.done{background:#dff3ea;color:#1f6b4a}
.reg-assigned{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0 6px;background:#f8fafb}.reg-assigned .kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-top:6px;font-size:13.5px}
/* 11: collapsed / hidden sidebar — the content column takes the freed width smoothly; refined focus; reduced motion respected */
@media (min-width:901px){.shell{transition:grid-template-columns .2s ease}}
.main{min-width:0}.content{min-width:0;max-width:100%}.content .view{min-width:0}
.content .tw{max-width:100%}
.side a.nv:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
@media (prefers-reduced-motion:reduce){.shell,.side,.shell.nav-auto .side,.side .ng-h .chev{transition:none!important}}
/* V3 (8): Back / Volver */
.back-btn{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;font-weight:600;font-size:13px;cursor:pointer;color:var(--ink2);white-space:nowrap;min-height:32px}
.back-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent2)}
.back-btn:disabled{opacity:.45;cursor:default}
@media (max-width:420px){.back-btn{padding:4px 8px}}
/* header with the Back button: keep every element visible on laptop widths (no clipped Sign out) */
@media (max-width:1440px){.top .search{min-width:150px}.user .uinfo{max-width:170px}.user .urole,.user .uaccess{max-width:170px}}
@media (max-width:1280px){.top{gap:8px}.user .uinfo{max-width:140px}.user .urole,.user .uaccess{max-width:140px}}

/* ---------- home hero (industrial background, clock + sky) ---------- */
.hero2{display:flex;justify-content:space-between;gap:18px;align-items:stretch;flex-wrap:wrap;color:#eef1f3;border-radius:14px;padding:22px 24px;margin-bottom:16px;border-left:4px solid var(--teal);
  background:linear-gradient(100deg,rgba(8,11,15,.9) 0%,rgba(12,16,21,.7) 45%,rgba(12,16,21,.42) 100%),#0b0d10 url(/bg.jpg) right center/cover no-repeat}
.hero2 h1{margin:4px 0 10px;font-size:26px;letter-spacing:-.3px}
.h2-main{flex:1;min-width:260px;display:flex;flex-direction:column}
.h2-who{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 14px;max-width:520px;display:flex;flex-direction:column;gap:2px}
.h2-who b{font-size:16px}.h2-who .small{color:#a8aeb4}
.h2-tags{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.pill-btn{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#eef1f3;border-radius:999px;padding:3px 12px;cursor:pointer;font-size:12.5px}
.pill-btn:hover{background:rgba(255,255,255,.16)}
.h2-photo{position:relative;flex:0 1 440px;min-width:300px;min-height:230px;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:14px 18px 16px;
  background:linear-gradient(180deg,rgba(6,10,16,.3) 0%,rgba(6,10,16,0) 26%,rgba(6,10,16,0) 50%,rgba(6,10,16,.78) 100%),linear-gradient(270deg,rgba(6,10,16,.45) 0%,rgba(6,10,16,0) 45%),#16202c url(/hero.jpg) 50% 40%/cover no-repeat;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 28px rgba(0,0,0,.45),inset 0 0 0 1px rgba(0,0,0,.25)}
.hp-top{display:flex;justify-content:flex-start}
.hp-part{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#e8f7f6;background:rgba(8,14,20,.55);border:1px solid rgba(159,231,225,.45);border-radius:999px;padding:3px 10px;backdrop-filter:blur(4px)}
.hp-time{text-align:right;align-self:flex-end;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.clock{font-size:36px;font-weight:800;letter-spacing:1px;font-variant-numeric:tabular-nums;line-height:1.05;color:#fff}
.cdate{color:#dfe5ea;font-size:13px;text-transform:capitalize;margin-top:2px}
.home-grid .card,.mgrid .mcard{height:100%}
/* ---------- dashboard ---------- */
.mxwrap{display:flex;gap:6px;align-items:stretch}
.mx-y{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px}
.mx-x{text-align:center;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px;margin-top:4px;max-width:560px}
.wlist{display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow:auto}
.wrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--line2);border-radius:8px}
.wrow .btn{padding:2px 8px}
.filters-card{padding-bottom:12px}
.inl{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.inl input[type=checkbox]{width:auto}
.dash-grid{align-items:stretch}.dash-grid>.card{height:100%;margin-bottom:0}
.dash-grid{margin-bottom:16px}
/* ---------- missing-data tree / hierarchy ---------- */
.tree-root{margin:4px 0 10px;font-size:15px}
.mtree summary{cursor:pointer}
.mt-eq{margin:8px 0 0 18px;border-left:2px solid var(--line2);padding-left:10px}
.mt-eq summary{cursor:pointer;padding:3px 0}
.htree{font-size:13.5px}
.hn{margin-left:16px;padding:2px 0}
.hn summary{cursor:pointer;padding:3px 4px;border-radius:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.hn summary:hover{background:var(--accentbg)}
.hn.co{margin-left:0;font-size:15px;padding:4px 0}
.hn.plant{margin-left:0;border-left:3px solid var(--accent);padding-left:6px;margin-top:6px}
.hn.sys>summary{color:var(--ink)}
.hn.loop{border-left:2px dashed var(--line);padding-left:6px}
.hn.loop.none>summary{color:var(--muted);font-style:italic}
.hn.comp{color:var(--ink2);margin-left:28px}
/* ---------- equipment / components / loops ---------- */
.comp-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:#fff}
.cr-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.kv3{grid-template-columns:repeat(3,minmax(90px,auto) 1fr)}
@media (max-width:900px){.kv3{grid-template-columns:150px 1fr}}
.chk{display:inline-flex;gap:6px;align-items:center;margin:2px 12px 2px 0;font-size:13px}.chk input{width:auto}
.cpv-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:6px;margin-bottom:6px}
@media (max-width:760px){.cpv-row{grid-template-columns:1fr 1fr}}
.linklist{max-height:55vh;overflow:auto;border:1px solid var(--line2);border-radius:8px;padding:6px 10px;margin-top:8px}
.lk-eq{padding:6px 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:2px}
.lk-c{margin-left:14px}
/* ---------- RBI workspace ---------- */
.mini-mx{display:grid;grid-template-columns:repeat(5,18px);grid-template-rows:repeat(5,18px);gap:2px}
.mini-mx div{border-radius:3px}
.ov{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.savebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;z-index:5;border-top:3px solid var(--accent)}
.savebar input{flex:1;min-width:180px}
.btn.calc{background:var(--graphite);color:#fff;border-color:var(--graphite);font-weight:800;letter-spacing:.4px}
.btn.calc:disabled{opacity:.5}
.comp-pick{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;margin-bottom:6px;cursor:pointer;position:relative;padding-left:34px}
.comp-pick input{position:absolute;left:10px;top:12px;width:auto}
.adddm{display:flex;gap:6px;align-items:center;min-width:260px}.adddm>*:first-child{flex:1}
.loc-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;margin:3px 4px 0 0;font-size:12px;background:#f7f8f9}
.loc-chip input{width:auto;margin:0}
.dm.off{opacity:.6;background:#f6f7f8}
.summary-card{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
tr.gov td{background:#fff8e6}
svg.series{width:100%;max-width:420px;height:90px;display:block}
.ph-t{min-width:0}
input.cf{min-width:60px}
@media print{.savebar,.tabs,.flow,.adddm{display:none!important}}
/* tablets (iPad) */
@media (max-width:1024px){.h2-photo{min-width:0;flex:1 1 320px}.clock{font-size:30px}.adddm{min-width:0;width:100%}}
@media (max-width:600px){.hero2{padding:16px}.hero2 h1{font-size:21px}.h2-photo{flex:1 1 100%;min-height:190px;padding:12px 14px}.clock{font-size:28px}}
.lang-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 9px;font-weight:700;font-size:12px;cursor:pointer;color:var(--ink2)}.lang-btn:hover{border-color:var(--accent);color:var(--accent2)}
table td a[href^="#/rbi/"]{white-space:nowrap}
.ph-a{align-items:center}.ph-a select,.ph-a input:not([type=checkbox]){width:auto;max-width:260px}
/* v1.3 SVG risk matrix: fixed aspect ratio, centred, prints as drawn */
.rmx-wrap{display:flex;justify-content:center;margin:4px auto 8px;width:100%}
.rmx{width:100%;max-width:440px;height:auto;display:block}
.rmx-wrap.sm .rmx{max-width:260px}
.rmx-cell rect{stroke:rgba(0,0,0,.08)}
.rmx-cell[tabindex]{cursor:pointer}
.rmx-cell[tabindex]:hover rect,.rmx-cell[tabindex]:focus rect{stroke:#111;stroke-width:2}
.rmx-cell:focus{outline:none}
.rmx-cell.zero rect{opacity:.45}
.rmx-cell.mark rect{stroke:#111;stroke-width:3}
.rmx-sc{font-size:10px;font-weight:600;fill:#fff;opacity:.9}
.rmx-n{font-size:20px;font-weight:800;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.25);stroke-width:2px}
.rmx-ax{font-size:12px;font-weight:700;fill:#6b737c}
.rmx-lbl{font-size:11px;font-weight:700;fill:#6b737c;letter-spacing:.5px}
@media print{.rmx{max-width:380px}.rmx-cell rect{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* v1.3 layout guards: grid children may shrink below their content width (no page-level horizontal scroll) */
.grid2>*,.grid3>*,.dash-grid>.card{min-width:0}
.rmx-wrap{min-width:0}
@media (max-width:600px){.cdate{white-space:normal}.h2-main{min-width:0}}
.card h3{flex-wrap:wrap}
.db-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;min-width:160px}
.rmx-cell.dim rect{opacity:.32}.rmx-cell.mark rect{stroke:#111;stroke-width:3.5}
/* home indicator cards (audit 2026-10, 11.1) */
.sec-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sec-row .sec{margin-bottom:8px}
.hind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:18px}
.hind{margin:0}.hind-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hind-h a{font-weight:700;color:inherit;text-decoration:none}
.hind-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.hind-v{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line,#e3e6e9);border-radius:10px;padding:8px 10px;text-decoration:none;color:inherit}
.hind-v b{font-size:22px;line-height:1.1}.hind-v span{font-size:12px;color:var(--muted,#6b7280)}.hind-v.orange b{color:var(--orange,#c2410c)}.hind-v.red b{color:var(--red,#b91c1c)}
.hind-v:hover{border-color:var(--teal,#0f766e)}.hind-lv{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.hind-load{grid-column:1/-1}

/* home main modules (2026-10-24): 7 cards, responsive (desktop 4 / tablet 2 / phone 1 per row) */
.nmgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:18px}
.nmgrid.small{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.nmc{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;color:inherit;text-decoration:none;transition:.12s;min-height:112px}
.nmc.active{border-left:4px solid var(--accent)}.nmc.active:hover,.nmc.active:focus-visible{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}
.nmc.off{background:#f6f7f8;border-style:dashed;color:var(--muted);cursor:not-allowed}
.nmc-ic{flex:0 0 42px;height:42px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,#fff);display:flex;align-items:center;justify-content:center}
.nmc.off .nmc-ic{background:#eceff1}
.nmc-ico{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nmc.off .nmc-ico{stroke:#9aa4ad}
.nmc-body{display:flex;flex-direction:column;gap:4px;min-width:0}.nmc-name{font-weight:800;font-size:15px;line-height:1.25}
.nmc-desc{font-size:12.5px;color:var(--ink2);line-height:1.4}.nmc.off .nmc-desc{color:var(--muted)}.nmc-note{font-size:12px;color:var(--muted);margin-top:auto}
@media (max-width:600px){.nmgrid{grid-template-columns:1fr}.nmc{min-height:0}}

/* ---------- Master data (hierarchy, equipment, components, loops), Plants / Areas / Systems, Excel import ---------- */
/* form sections */
.md-form{min-width:0}
.md-sec{border:1px solid var(--line);border-radius:10px;padding:6px 14px 14px;margin:12px 0 0;min-width:0;background:#fcfdfd}
.md-sec>legend{font-weight:700;font-size:12.5px;color:var(--accent2);text-transform:uppercase;letter-spacing:.5px;padding:0 6px}
.md-secgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
.md-sides{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
.md-sides .md-sec:first-child{border-top:3px solid var(--accent)}
.md-sides .md-sec:last-child{border-top:3px solid #5b6b7a}
.md-hxnote{margin-top:12px}
.md-inlerr{color:var(--red);font-size:12.5px;font-weight:600;margin-top:6px;line-height:1.35}
.md-inlerr.hidden{display:none}
input.md-bad,select.md-bad{border-color:var(--red)!important;background:#fff5f5}
.md-chk{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin:10px 0 0;line-height:1.35;cursor:pointer;min-width:0}
.md-chk input[type=checkbox]{width:auto;flex:none;margin-top:2px}
.md-chk span{min-width:0;overflow-wrap:anywhere}
.md-chks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0 12px}
.md-inh{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;text-transform:lowercase;background:#e8f1fb;color:#1f5f9e;border:1px solid #bcd6f0;vertical-align:middle;white-space:nowrap}
.md-reset{font-size:12px;margin-top:4px;display:inline-block}
.md-modal .box.wide{max-width:1040px}
/* filters */
.md-filters{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;padding:12px 14px}
.md-flt{display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;min-width:0;flex:1 1 170px;max-width:260px}
.md-flt select{text-transform:none;letter-spacing:0;font-weight:400;font-size:13px;width:100%}
.md-co{display:inline-block;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;background:#f7f8f9;color:var(--ink);font-size:13px;text-transform:none;letter-spacing:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-clr{align-self:flex-end;margin-bottom:2px}
.md-stop{display:inline-block}
/* hierarchy */
.md-tree .hn.area{margin-left:16px;border-left:2px solid #c8d3dc;padding-left:6px}
.md-tree .md-cnt{text-decoration:none}
.md-tree a.md-cnt:hover{background:var(--accentbg);color:var(--accent2)}
.md-desc{overflow-wrap:anywhere}
.md-h3wrap{flex-wrap:wrap;gap:8px}
/* plants / areas / systems */
.pl-head,.pl-ahead,.pl-sech{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pl-head h3{margin:0}
.pl-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.pl-act{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
td .pl-act{flex-wrap:nowrap;justify-content:flex-end}
.pl-stats{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.pl-cnt{text-decoration:none}
a.pl-cnt:hover{background:var(--accentbg);color:var(--accent2)}
.pl-kv{margin-bottom:6px}
.pl-sech{margin-top:14px;border-top:1px solid var(--line2);padding-top:10px}
.pl-sech h4{margin:0}
.pl-area{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:10px 12px;margin-top:10px;background:#fcfdfd}
.pl-area .tw{margin-top:8px}
.pl-orphan{margin-top:12px}.pl-orphan .tw{margin-top:8px;background:#fff}
/* import */
.imp-intro{margin-bottom:14px}
.imp-sh{display:flex;align-items:center;gap:10px}
.imp-sh h3{margin:0}
.imp-n{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.imp-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
.imp-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.imp-fname{overflow-wrap:anywhere}
.imp-sheets{margin:6px 0 0;padding-left:22px;font-size:13px}
.imp-sheets li{margin:3px 0}
.imp-sheets summary{cursor:pointer}
.imp-cols{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 8px}
.imp-col{border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:12px;background:#fff}
.imp-col.req{border-color:#f0b6b6;background:#fff6f6;font-weight:600}
.imp-col small{color:var(--muted);font-weight:400}
.imp-status{font-size:13px;margin:6px 0;min-height:4px}
.imp-msg{border-radius:8px;padding:10px 12px;font-weight:600;font-size:13px;margin:8px 0}
.imp-msg.good{background:#eaf7ef;border:1px solid #b7e1c6;color:#1d6b40}
.imp-msg.bad{background:#fdecec;border:1px solid #f2b8b8;color:#9b1c1c}
.imp-warn{margin:8px 0}
.imp-err{color:#9b1c1c}
table.t tr.imp-rowerr td{background:#fff3f3}
.imp-data{margin:6px 0}
.imp-data summary{cursor:pointer;padding:4px 0}
.imp-bar{height:14px;border-radius:7px;background:#eceef0;overflow:hidden;margin-top:12px}
.imp-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.imp-bar.bad i{background:var(--red)}
.imp-barlbl{margin-top:4px}
/* responsive */
@media (max-width:900px){
  .md-secgrid,.md-sides{grid-template-columns:1fr}
}
@media (max-width:700px){
  .md-flt{flex:1 1 100%;max-width:none}
  .md-sec{padding:4px 10px 12px}
  .md-chks{grid-template-columns:1fr}
  .pl-act .btn{flex:0 0 auto}
}
.md-grid>*{min-width:0}
.md-grid .tw{max-width:100%}
.comp-row .pill{white-space:normal;text-align:left}
.comp-row .kv>div{min-width:0;overflow-wrap:anywhere}
.md-form .row2>*,.md-form .row3>*{min-width:0}
.md-form input,.md-form select,.md-form textarea{max-width:100%;min-width:0}
/* master-data templates (section 6) */
.mdt-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.mdt-mode{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line,#dde2e7);border-radius:8px;padding:8px 10px;cursor:pointer}
.mdt-mode:has(input:checked){border-color:var(--accent,#00857f);background:color-mix(in srgb,var(--accent,#00857f) 7%,transparent)}
.mdt-mode input{margin-top:3px;width:auto;flex:0 0 auto}
.mdt-ver{font-weight:600;margin-left:6px;vertical-align:middle}
.mdt-instr{margin:4px 0 10px;padding-left:18px}
.imp-open{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.mdt-approve{margin:6px 0 10px}
tr.imp-bad td{background:color-mix(in srgb,#c62828 8%,transparent)}
/* 2026-10-28 (2): equipment production impact card */
.pi-card .pi-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.pi-card .kv>*{min-width:0;overflow-wrap:anywhere}

/* v1.3 RBI results: summary → drivers → one table; executive summary; strategy review panels; 6-step workflow bar */
.rs-sum{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.rs-sum .rs-left{display:flex;justify-content:center}
.rs-sum .rs-risk{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.rs-sum .rs-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.rs-kv{margin:0}
.rs-drv h4{margin:0 0 6px}
.rs-list{list-style:none;margin:0;padding:0}
.rs-list li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13px}
.rs-list li span{color:var(--ink2);min-width:0;overflow-wrap:anywhere}
.rs-list li b{white-space:nowrap}
.rs-list li.dom{background:#fff7e8;padding-left:6px;padding-right:6px;border-radius:6px}
tr.gov td{background:#fffaf0}
.rs-detail h4{margin:10px 0 6px}
.exec{border-left:4px solid var(--accent)}
.exec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.exec-box{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;min-width:0}
.exec-box b{display:block;overflow-wrap:anywhere}
.strat-item{border:1px solid var(--line);border-radius:8px;padding:10px;margin:10px 0}
.strat-item .si-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.si-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.errbox-inline{border:1px solid #e7b3ae;background:#fff5f4;color:#8f1d17;border-radius:8px;padding:8px 10px;margin:0 0 10px}
.flow.f6 .s{min-width:120px}
.flow.returned .s:first-child{background:#fff5f4;border-color:#e7b3ae}
@media (max-width:900px){.rs-sum{grid-template-columns:1fr}.rs-sum .rs-right{align-items:flex-start;text-align:left}.flow.f6 .s{min-width:46%}}
@media print{.rs-sum .rs-right .btn,.strat-edit{display:none!important}}
/* reports show every row: no inner scroll on screen or paper */
.report-page .tw{max-height:none;overflow:visible}
@media print{.tw,.tw.tall{max-height:none!important;overflow:visible!important}}
/* PoF / CoF explanation (8.3) */
.rs-explain{border-top:2px solid var(--line,#e3e6ea);margin-top:14px;padding-top:10px}
.rs-explain h4{margin:12px 0 6px}
.rs-explain .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}
.ret-btn{white-space:nowrap}
.hier-bar{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.hier-bar select{max-width:210px}
/* 2026-10-28 (1): intrusive / non-intrusive alternatives of the recommendation */
.it-box{border:1px dashed var(--line);border-radius:8px;padding:10px;margin:0 0 10px;background:#fbfcfc}
.it-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.alt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:10px;margin:8px 0}
.alt-pick{display:block;cursor:pointer;min-width:0}
.alt-card{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;min-width:0;height:100%;box-sizing:border-box}
.alt-card.sel{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,133,127,.18)}
.alt-card.na{background:#f7f8f9}
.alt-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.alt-h input[type=radio]{width:auto;margin:0}
.alt-dl{display:grid;grid-template-columns:minmax(90px,max-content) minmax(0,1fr);gap:4px 10px;margin:0;font-size:13px}
.alt-dl dt{color:var(--muted)}.alt-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.alt-miss{color:#8a5a00}
@media (max-width:700px){.alt-dl{grid-template-columns:1fr}.alt-dl dt{margin-top:4px}}
/* 2026-10-28 (4): Management Factor evaluation by section — points "n / max" fully visible next to the Evidence / Comments box */
.mf-sec-wrap{max-width:100%}
table.t.mf-sec{table-layout:auto;width:100%}
table.t.mf-sec td{vertical-align:middle}
table.t.mf-sec td.mf-sec-name{min-width:0;overflow-wrap:anywhere}
table.t.mf-sec .mf-sec-pts{width:1%;white-space:nowrap}
.mf-pts{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.mf-pts select{width:auto;min-width:4.75em;flex:0 0 auto}
.mf-pts .mf-max{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--ink2,#444b53);font-weight:600}
table.t.mf-sec td.mf-sec-ev{width:38%;min-width:180px}
table.t.mf-sec td.mf-sec-ev input{width:100%;min-width:0;box-sizing:border-box}
@media (max-width:700px){
  table.t.mf-sec thead{display:none}
  table.t.mf-sec,table.t.mf-sec tbody,table.t.mf-sec tr,table.t.mf-sec td{display:block;width:auto;min-width:0}
  table.t.mf-sec tr{border-bottom:1px solid var(--line);padding:6px 0}
  table.t.mf-sec td{border:0;padding:4px 2px}
  table.t.mf-sec td[data-l]::before{content:attr(data-l);display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:2px}
  table.t.mf-sec td.mf-sec-pts,table.t.mf-sec td.mf-sec-ev{width:auto;min-width:0;white-space:normal}
}
/* V3 (5): recommendation vs target risk */
.rc-card .rc-item{border:1px solid var(--line);border-radius:8px;padding:10px;margin:10px 0;background:#fff;min-width:0}
.rc-kv{margin:6px 0}
.rc-alt{border:1px solid var(--line);border-radius:8px;padding:10px;min-width:0;box-sizing:border-box}
.rc-alt.rec{border-color:#2e9e5b;box-shadow:0 0 0 2px rgba(46,158,91,.18)}
.rc-alt .alt-h{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* ---------- Thickness / Inspection / Task management screens ---------- */
.mx-red{color:var(--red);font-weight:700}.mx-orange{color:var(--orange);font-weight:700}.mx-ok{color:var(--green);font-weight:700}
.mx-strike{text-decoration:line-through;color:var(--muted)}
.mx-nowrap{white-space:nowrap}
.mx-clip{display:inline-block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.mx-comp{display:inline-block;min-width:150px}
.mx-pre{white-space:pre-wrap}
.mx-mono{font-family:var(--mono);font-size:12.5px;width:100%}
.mx-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;user-select:none}
.mx-check input{width:auto;margin:0}
.mx-checks{display:flex;flex-direction:column;gap:6px}
.mx-taskchk{align-items:flex-start;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;background:#fafbfb}
.mx-taskchk input{margin-top:3px}
.mx-h4{margin:14px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink2)}
.mx-err{margin-bottom:10px}
.mx-errslot:empty{display:none}
.mx-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mx-sec{border-top:1px solid var(--line2);margin-top:14px;padding-top:2px}
.mx-sec .btn{margin-top:8px}
.mx-static{padding:8px 10px;border:1px solid var(--line2);border-radius:8px;background:#f7f8f9;font-weight:600}
.mx-actbar{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:14px 0 6px;z-index:5}
.mx-help summary{cursor:pointer;font-weight:700;font-size:14px}
.mx-help ul{margin:10px 0 0 18px;padding:0;font-size:13px;color:var(--ink2)}.mx-help li{margin:4px 0}
.kpi .v.mx-kv{font-size:20px}
.card h3.mx-h3{flex-wrap:wrap}
.mx-grid{gap:16px;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.mx-grid>.card{min-width:0}.mx-grid>.card{margin-bottom:0}
tr.mx-badrow td{background:#fff5f3}
/* TML statistics strip */
.mx-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:12px}
.mx-stat{background:#f7f8f9;border:1px solid var(--line2);border-radius:8px;padding:6px 10px}
.mx-stat .l{font-size:11px;color:var(--muted)}.mx-stat .v{font-weight:700;font-variant-numeric:tabular-nums}
/* trend chart */
.mx-chartwrap{width:100%}
.mx-chart{width:100%;height:auto;max-height:340px;display:block}
.mx-chart .g{stroke:#e7eaed;stroke-width:1}
.mx-chart .ax{font-size:11px;fill:#6b737c}
.mx-chart .tmin{stroke:var(--red);stroke-width:1.6;stroke-dasharray:6 4}
.mx-chart .tminl{font-size:11px;fill:var(--red);font-weight:700}
.mx-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:6px}
.mx-legend span{display:inline-flex;align-items:center;gap:5px}
.mx-legend i{display:inline-block;width:14px;height:4px;border-radius:2px}
.mx-legend i.tminkey{background:repeating-linear-gradient(90deg,var(--red) 0 5px,transparent 5px 8px)}
/* inspection report items */
.mx-techs button{font-size:12px}
.mx-items{display:flex;flex-direction:column;gap:8px}
.mx-item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;border:1px solid var(--line2);border-radius:10px;padding:10px;background:#fbfcfc}
.mx-itemn{width:24px;height:24px;border-radius:50%;background:var(--accentbg);color:var(--accent2);display:grid;place-items:center;font-weight:700;font-size:12px;margin-top:22px}
.mx-itemf{display:grid;grid-template-columns:1.2fr 1.6fr 1.2fr 1fr 1fr;gap:8px;min-width:0}
.mx-item .btn.danger{margin-top:22px}
@media (max-width:1280px){.mx-itemf{grid-template-columns:1fr 1.4fr 1fr}}
@media (max-width:1024px){.mx-clip{max-width:220px}}
@media (max-width:700px){
  .mx-itemf{grid-template-columns:1fr}
  .mx-grid{grid-template-columns:minmax(0,1fr)}
  .mx-item{grid-template-columns:1fr auto}.mx-itemn{display:none}
  .mx-clip{max-width:160px}
  .mx-stats{grid-template-columns:repeat(2,1fr)}
  .toolbar select,.toolbar input[type=search]{max-width:none;flex:1 1 100%}
  .mx-chart .ax{font-size:14px}
}
/* thickness: TML method / baseline blocks (4.1, 4.2) */
.thk-blocks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:10px 0}
.thk-blocks .card{margin:0}.thk-method ul,.thk-baseline ul{margin:4px 0 6px 18px;padding:0}.thk-baseline h4,.thk-method h4{display:flex;align-items:center;gap:8px;margin:4px 0 8px}
.thk-baseline .kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px}
.thk-nozbox{background:#f7fafb;margin:6px 0 10px}
@media (max-width:900px){.thk-blocks{grid-template-columns:minmax(0,1fr)}}

/* Inspection Management, Inspection Tasks, Thickness Management (release 1.3) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ins-tabs{margin-top:-4px}
.ins-row>.fw,.ins-row>div{min-width:0}
.ins-returned{border:2px solid var(--red);background:#fff3f1;color:#7a1d12;border-radius:10px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}
.ins-returned>b{font-size:15px;color:var(--red)}
.ins-retc{font-size:14px;font-weight:600;color:#2b2b2b;background:#fff;border-radius:6px;padding:8px 10px;border:1px solid #f3c4bc}
.ins-kv{grid-template-columns:200px minmax(0,1fr)}
.ins-effhelp{margin-bottom:10px;font-size:12.5px}.ins-effhelp summary{cursor:pointer;font-weight:700}
.ins-itemf{grid-template-columns:repeat(4,minmax(0,1fr))}
.ins-itemf>.fw{min-width:0}
.ins-static{min-height:38px;display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.ins-static.muted{font-weight:500}
.ins-chk{width:18px;height:18px;margin:0;cursor:pointer}
.ins-resp{max-width:220px}.ins-ev{max-width:200px}
.ins-ul{margin:4px 0 10px 18px;padding:0;font-size:13px}.ins-ul li{margin:3px 0}
.ins-next{border-left:4px solid var(--accent)}
/* attachments */
.ins-attlist{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.ins-attlist li{display:flex;align-items:center;gap:10px;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;background:#fbfcfc;flex-wrap:wrap}
.ins-attico{flex:0 0 auto;width:38px;height:30px;border-radius:6px;background:var(--accentbg);color:var(--accent2);display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.3px}
.ins-attmain{flex:1 1 220px;min-width:0}
.ins-attname{font-weight:700;text-align:left;overflow-wrap:anywhere;padding:0}
.ins-attup{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:10px;align-items:start;border-top:1px dashed var(--line2);padding-top:10px}
.ins-attup input[type=file]{width:100%;min-width:0;font-size:13px}
.ins-attbtn{padding-top:22px}
/* tasks */
.tk-clip{max-width:170px}
/* thickness */
.thk-cond{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap}
.thk-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:0 0 auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.thk-dot.g{background:#2e9e5b}.thk-dot.y{background:#e5c12e}.thk-dot.o{background:#e8862a}.thk-dot.r{background:#d93b2b}.thk-dot.gr{background:#c3c9cf}
.thk-clegend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 10px}
.card h3.mx-h3 .thk-clegend{margin:0;font-weight:400}
.thk-loops{max-width:160px}.thk-desc{max-width:220px}.thk-loc{max-width:220px}
.thk-kv{grid-template-columns:160px minmax(0,1fr)}
.thk-own{margin-left:4px;padding:0 5px;font-size:10px}
.thk-group h3.mx-h3{gap:8px}
.thk-gdesc{margin:-4px 0 8px}
.thk-comps summary,.thk-totals summary{cursor:pointer;font-weight:700;font-size:14px}
.thk-comps .tw,.thk-totals .tw{margin-top:10px}
.thk-entry{max-height:52vh}
.thk-entry td.thk-in{min-width:120px}
.thk-entry td.thk-in input{width:100%;min-width:90px}
.thk-rowerr{color:var(--red);font-size:12px;font-weight:600;margin-top:4px}.thk-rowerr:empty{display:none}
@media (max-width:1100px){.ins-itemf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .ins-itemf{grid-template-columns:minmax(0,1fr)}
  .ins-kv,.thk-kv{grid-template-columns:minmax(0,1fr)}
  .ins-attup{grid-template-columns:minmax(0,1fr)}.ins-attbtn{padding-top:0}
  .card h3.mx-h3 .thk-clegend{display:none}
}
/* ---------- printable TML report ---------- */
.thk-ptool{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}
.thk-print{background:#fff;max-width:210mm;margin:0 auto;padding:14mm 12mm;box-shadow:0 2px 14px rgba(0,0,0,.08);border-radius:6px;color:#1d2328;font-size:12px;box-sizing:border-box}
.thk-print h1{font-size:20px;margin:0 0 2px}
.thk-print h2{font-size:14px;margin:16px 0 6px;padding-bottom:3px;border-bottom:2px solid var(--accent);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.thk-plink{font-size:11px;font-weight:500;color:#5b646c}
.thk-phead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:3px solid var(--accent);padding-bottom:10px;margin-bottom:10px;flex-wrap:wrap}
.thk-pbrand{display:flex;align-items:center;gap:10px}.thk-pbrand .logo{width:40px;height:40px}
.thk-pco{font-weight:800;font-size:14px}
.thk-ptitle{text-align:right;min-width:0}
.thk-pid,.thk-psum{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:3px 12px;font-size:11.5px}
.thk-psum{grid-template-columns:repeat(4,auto minmax(0,1fr))}
.thk-print .pk{color:#5b646c}.thk-print .pv{font-weight:600;overflow-wrap:anywhere}
.thk-pchart{margin-top:10px}.thk-pchart .mx-chart{max-height:none}
.thk-pt{width:100%;border-collapse:collapse;font-size:10.5px;font-variant-numeric:tabular-nums}
.thk-pt th{background:#eef3f3;text-align:left;font-weight:700;padding:4px 5px;border-bottom:1px solid #b9c4c4;vertical-align:bottom}
.thk-pt td{padding:3px 5px;border-bottom:1px solid #e3e7e9;vertical-align:top}
.thk-pt .num{text-align:right}
.thk-pt small{color:#5b646c}
.thk-pt .thk-cond{font-size:10px}
.thk-pbasis ul{margin:0 0 6px 16px;padding:0;font-size:10.5px}.thk-pbasis li{margin:2px 0}
.thk-signs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.thk-sbox{border:1px solid #b9c4c4;border-radius:6px;padding:8px 10px;min-height:120px;display:flex;flex-direction:column;gap:14px}
.thk-sl{border-bottom:1px solid #8a959b;padding-top:14px;font-size:10px;color:#5b646c}
.thk-pfoot{margin-top:14px;padding-top:6px;border-top:1px solid #d5dadd;font-size:9.5px;color:#6b737c;text-align:center}
@media (max-width:700px){
  .thk-print{padding:14px;max-width:100%}
  .thk-pid,.thk-psum{grid-template-columns:auto minmax(0,1fr)}
  .thk-ptitle{text-align:left}
  .thk-pgroup,.thk-phist{overflow-x:auto}
  .thk-signs{grid-template-columns:minmax(0,1fr)}
}
@media print{
  @page{size:A4 portrait;margin:11mm 10mm}
  body:has(.thk-print){background:#fff!important}
  body:has(.thk-print) .viewbanner,body:has(.thk-print) .ph,body:has(.thk-print) #toast,body:has(.thk-print) .modal{display:none!important}
  body:has(.thk-print) .main,body:has(.thk-print) .content{padding:0!important;margin:0!important;max-width:none!important;width:auto!important;background:#fff!important}
  .thk-print{box-shadow:none;border-radius:0;padding:0;max-width:none;width:100%;font-size:10.5px}
  .thk-pgroup,.thk-phist{overflow:visible}
  .thk-pt{font-size:9px}.thk-pt th,.thk-pt td{padding:2px 4px}
  .thk-pt tr{break-inside:avoid}
  .thk-pt thead{display:table-header-group}
  .thk-print h2{break-after:avoid}
  .thk-pchart,.thk-psign,.thk-phead,.thk-pid{break-inside:avoid}
  .thk-pid,.thk-psum{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}
  .thk-psum{grid-template-columns:repeat(4,auto minmax(0,1fr))}
  .thk-signs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .thk-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.ins-tb select,.ins-tb input{max-width:100%;min-width:0}
.thk-group h3.mx-h3 .pill,.thk-kv .pill{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.thk-group td .mx-btns{flex-wrap:nowrap}
.card h3.mx-h3 select{width:auto;max-width:100%;font-size:13px;font-weight:500}
.thk-pt b,.thk-pt small,.thk-pt .nw,.thk-print .pv{white-space:nowrap}
.thk-print .thk-pid .pv{white-space:normal}
.thk-psum,.thk-psum{grid-template-columns:repeat(3,auto minmax(0,1fr))}
@media print{
  html:has(.thk-print),body:has(.thk-print),body:has(.thk-print) .shell,body:has(.thk-print) #root{background:#fff!important;min-height:0!important;height:auto!important}
  .thk-psum{grid-template-columns:repeat(3,auto minmax(0,1fr))!important}
}
@media (max-width:700px){.thk-psum{grid-template-columns:auto minmax(0,1fr)}}
/* 5.2 / 5.3: several techniques per inspected part, grouped catalogue */
.ins-techs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ins-techs select{max-width:260px}
.ins-tchip{display:inline-flex;align-items:center;gap:4px}.ins-tchip .x{border:0;background:none;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;color:inherit}
.ins-tw{flex-basis:100%}.ins-techfw{grid-column:span 2}
.mx-techs{flex-direction:column;align-items:stretch}.ins-tcat{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ins-tcat-l{min-width:150px}

/* inspection deferral management (section 9) */
.def-dists{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.def-dist h4{margin:0 0 8px}
.def-bar{display:grid;grid-template-columns:minmax(80px,40%) 1fr auto;gap:8px;align-items:center;width:100%;background:none;border:0;padding:3px 0;text-align:left;cursor:pointer;color:inherit;font:inherit}
.def-bar:disabled{cursor:default}
.def-bar:not(:disabled):hover .def-bl,.def-bar:focus-visible .def-bl{text-decoration:underline}
.def-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.def-bt{height:10px;background:var(--line,#e3e6ea);border-radius:5px;overflow:hidden}
.def-bf{display:block;height:100%;background:var(--accent,#2f6fb3);border-radius:5px}
.def-act{display:grid;grid-template-columns:2fr 1fr 150px auto;gap:8px;align-items:end;margin-bottom:6px}
.def-pre{white-space:pre-wrap;word-break:break-word}
.def-actions{position:sticky;top:0;z-index:2}
.def-report .def-rs{break-inside:avoid;margin-bottom:12px}
.def-report .def-rs h3{font-size:12pt;border-bottom:1px solid #999;padding-bottom:2px;margin:10px 0 6px}
@media (max-width:700px){.def-act{grid-template-columns:1fr}}

/* ---------- administration, audit, documents and profile screens ---------- */
.adm-intro{margin:-6px 0 12px;max-width:900px}
.adm-mb{margin-bottom:12px}.adm-mt{margin-top:10px}
.adm-h4{margin:16px 0 8px;font-size:13.5px;display:flex;align-items:center;gap:6px;color:var(--ink)}
.adm-stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.adm-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nowrap{white-space:nowrap}
.adm-roles{min-width:160px;max-width:260px;line-height:1.4}
.adm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#1d9a5b;box-shadow:0 0 0 3px #e3f4ea}
.adm-kv{grid-template-columns:180px 1fr}
/* checkbox grids (roles, modules, settings) */
.adm-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 14px}
.adm-chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer;line-height:1.35}
.adm-chk input{width:auto;margin-top:2px;flex:none}
.adm-chk.off{color:var(--muted);cursor:default}
.adm-bool{padding-top:4px}
/* scope rows */
.adm-scope-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px;padding:8px;border:1px solid var(--line2,#eceef0);border-radius:8px;background:#fafbfb}
.adm-scope-row .adm-x{height:38px;min-width:38px;justify-content:center}
/* temporary password */
.adm-pwrow{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}
.adm-pw{flex:1 1 220px;font-family:var(--mono,monospace);font-size:22px;letter-spacing:2px;padding:12px 14px;border:2px dashed var(--accent);border-radius:10px;background:var(--accentbg);color:var(--accent2);word-break:break-all;user-select:all;-webkit-user-select:all}
.adm-steps{margin:10px 0 0 18px;padding:0;font-size:13px;line-height:1.5}
.adm-ok{background:#e3f4ea!important;border-color:#1d9a5b!important;color:#1d6b40!important}
.adm-copyrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.adm-val{font-family:var(--mono,monospace);font-size:12.5px;background:#f2f4f5;border:1px solid var(--line);border-radius:6px;padding:3px 7px;word-break:break-all}
/* alert card (generic company code, storage not configured) */
.adm-alert{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff3e0;border:2px solid #f0a020;border-radius:10px;padding:12px 14px;margin-bottom:12px;color:#6b3d00;font-size:13px}
.adm-alert>div:nth-child(2){flex:1 1 300px;min-width:0}
.adm-alert b{display:block;margin-bottom:2px;font-size:14px}
.adm-alert-i{flex:none;width:30px;height:30px;border-radius:50%;background:#f0a020;color:#fff;font-weight:800;display:grid;place-items:center;font-size:17px}
/* roadmap module cards: equal heights, titles clamped to 2 lines */
.adm-rm{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;align-items:stretch}
.adm-rm-card{display:flex;flex-direction:column;gap:8px;height:100%;border:1px solid var(--line);border-top:3px solid var(--silver,#a8aeb4);border-radius:10px;padding:12px;background:#fff}
.adm-rm-code{font-size:11.5px;font-weight:700;color:var(--accent2);letter-spacing:1px}
.adm-rm-t{margin:0;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.adm-rm-tag{align-self:flex-start}
.adm-rm-card select{margin-top:auto}
/* system status */
.adm-explain{background:#f4f8f8;border-left:3px solid var(--accent);padding:10px 12px;border-radius:0 8px 8px 0;margin:0 0 12px;line-height:1.5}
.adm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;align-items:stretch}
.adm-tile{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;min-width:0}
.adm-tile-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:6px}
.adm-errtxt{color:#9b2a18;margin-top:4px;word-break:break-word}
.adm-gate{margin-top:12px;border:1px solid #f0c77e;background:#fffaf0;border-radius:10px;padding:10px 12px}
.adm-gate table.t td{vertical-align:top}
.adm-testmail{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}
.adm-testmail .fw{flex:1 1 260px;max-width:420px}
.adm-errline{background:#fdecea;border:1px solid #e9a99f;color:#8e1b1b;border-radius:8px;padding:10px 12px;font-size:12.5px;word-break:break-word}
.adm-sec{border-top:1px solid var(--line2,#eceef0);padding-top:4px;margin-top:6px}
.adm-sec:first-of-type{border-top:0}
.adm-g2{gap:16px}
.adm-logo{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.adm-logo input[type=file]{width:auto;max-width:100%}
/* toolbar in page header (stats) */
.adm-tb{margin:0}.adm-tb select{min-width:150px}
/* test data log */
.adm-log{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fafbfb;min-height:60px}
.adm-log>div{padding:2px 0;border-bottom:1px dotted #e6e9eb}
.adm-warnline{color:#8a4300}
/* audit / security log */
.adm-legend{display:flex;gap:8px;align-items:center;margin-bottom:8px;color:#6b3d00}
.adm-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;background:#fff1d6;border:1px solid #f0a020}
table.t tr:has(.adm-super) td{background:#fff1d6}
table.t tr:has(.adm-super) td:first-child{box-shadow:inset 3px 0 0 #f0a020}
.adm-detail{display:inline-block;max-width:340px;word-break:break-word}
.adm-chains{display:flex;flex-direction:column;gap:8px}
.adm-chain{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;padding:8px 10px;border-radius:8px;border:1px solid var(--line)}
.adm-chain.ok{background:#f3faf6}.adm-chain.bad{background:#fdecea;border-color:#e9a99f}
/* profile / passkeys */
.adm-pkpoints{margin:0 0 12px 18px;padding:0;font-size:13px;line-height:1.55}
.adm-pkico{vertical-align:middle;border-color:var(--accent)}.adm-pkico:after{border-color:var(--accent)}
.adm-pkadd .btn.passkey{display:inline-flex;gap:8px;align-items:center}
.adm-pkadd .btn.passkey:disabled{opacity:.45;cursor:not-allowed}
/* responsive */
@media (max-width:1024px){
  .adm-kv{grid-template-columns:150px 1fr}
}
@media (max-width:700px){
  .adm-scope-row{grid-template-columns:1fr}
  .adm-scope-row .adm-x{justify-self:end}
  .adm-kv{grid-template-columns:1fr}
  .adm-pw{font-size:18px;letter-spacing:1px}
  .adm-tiles{grid-template-columns:1fr 1fr}
  .adm-testmail .fw{max-width:none}
  .adm-tb{width:100%}.adm-tb select{flex:1 1 140px;min-width:0;max-width:none}
  .adm-detail{max-width:220px}
}
@media (max-width:420px){
  .adm-tiles{grid-template-columns:1fr}
}
.adm-steps{margin:4px 0 10px 18px}.adm-pg ul{margin:4px 0 8px 18px}.adm-perms{color:var(--ink2)}
.adm-sum{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
tr.adm-fail td{background:#fff5f4}.adm-danger{border-color:#e7b3ae}.adm-danger h3{color:#8f1d17}
/* 2026-10-28 (5): Methodology Configuration of company policies */
.mc-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px}
.mc-check{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px;cursor:pointer;min-width:0}
.mc-check input{width:auto;margin-top:3px}.mc-check.off{opacity:.65;cursor:default}
.mc-sec{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0;min-width:0}
.mc-sec legend{font-weight:600;padding:0 6px}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}
.mc-h4{margin:12px 0 6px}
.mc-review{margin-top:8px}.mc-review summary{cursor:pointer;font-weight:600}
.mc-kv{margin-top:6px}
/* V3 (4): corporate risk matrix */
.cmx-wrap{overflow-x:auto;max-width:100%}
.cmx-grid{border-collapse:separate;border-spacing:3px;margin:6px 0}
.cmx-grid td{min-width:72px;height:34px;text-align:center;font-size:12px;font-weight:600;border-radius:4px;padding:2px 4px}
.cmx-grid.edit td{padding:3px}
.cmx-grid.edit select{width:100%;min-width:84px}
.cmx-grid th.cmx-ax{font-size:11px;font-weight:600;color:var(--muted);padding:2px 6px;white-space:nowrap}
.cmx-rows{display:flex;flex-direction:column;gap:6px}
.cmx-row{display:grid;grid-template-columns:90px 1fr 1fr auto;gap:6px;align-items:center}
.cmx-row.lv{grid-template-columns:90px 1fr 1fr 48px 170px 1fr auto}
.cmx-axis{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.cmx-ak{display:flex;gap:4px;align-items:center;font-size:12px}
.cmx-map{margin:6px 0;padding:6px 0;border-top:1px solid var(--line)}
@media (max-width:720px){.cmx-row,.cmx-row.lv{grid-template-columns:1fr 1fr}}
.cmx-row.cmx-head{align-items:end}
.cmx-acc.invalid,.cmx-grid select.invalid{border-color:#d4452c;box-shadow:0 0 0 2px rgba(212,69,44,.15)}

/* ---------- help drawer, help centre, field help, libraries and methodology (agent C) ---------- */
mark{background:#ffe58a;color:inherit;border-radius:2px;padding:0 1px}
body.help-open{overflow:hidden}
.help-drawer-wrap{position:fixed;inset:0;z-index:870}
.help-scrim{position:absolute;inset:0;background:rgba(12,14,16,.38)}
.help-drawer{position:absolute;top:0;right:0;bottom:0;width:min(520px,92vw);background:#fff;box-shadow:-10px 0 40px rgba(0,0,0,.25);display:flex;flex-direction:column;animation:helpIn .18s ease-out}
@keyframes helpIn{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.help-dhead{display:flex;align-items:flex-start;gap:10px;padding:16px 18px 10px;border-bottom:1px solid var(--line2);border-top:3px solid var(--accent)}
.help-dtitle{flex:1;min-width:0}.help-dtitle h2{margin:2px 0 0;font-size:19px}
.help-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent2);font-weight:700}
.help-dhead .x{background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px;border-radius:6px}
.help-dhead .x:hover,.help-dhead .x:focus-visible{color:var(--ink);background:#f0f2f4}
.help-dsearch{padding:10px 18px;border-bottom:1px solid var(--line2);background:#fafbfb}
.help-info{font-size:12px;color:var(--muted);margin-top:5px;min-height:16px}
.help-dscroll{flex:1;overflow:auto;padding:14px 18px;-webkit-overflow-scrolling:touch}
.help-dfoot{display:flex;gap:8px;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--line2);background:#fafbfb}
.help-body{font-size:13.5px;line-height:1.55;color:var(--ink)}
.help-summary{font-size:14px;color:var(--ink2);background:var(--accentbg);border-left:3px solid var(--accent);padding:10px 12px;border-radius:0 8px 8px 0;margin:0 0 12px}
.help-sec{margin-bottom:14px;scroll-margin-top:12px}.help-sec h3{font-size:14.5px;margin:14px 0 6px;color:var(--accent2)}.help-sec h2{font-size:17px;margin:20px 0 8px;color:var(--accent2);padding-bottom:4px;border-bottom:1px solid var(--line2)}
.help-sec p{margin:0 0 8px}
.help-sub{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;color:var(--muted);margin:10px 0 6px}
.help-steps{margin:0 0 8px 0;padding-left:0;list-style:none;counter-reset:hs}
.help-steps li{counter-increment:hs;position:relative;padding:4px 0 4px 34px;margin-bottom:4px}
.help-steps li:before{content:counter(hs);position:absolute;left:0;top:3px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center}
.help-tips{background:#f4faf7;border:1px solid #cfe9db;border-radius:8px;padding:2px 12px 6px;margin-top:8px}.help-tips .help-sub{color:#1d6b40}
.help-tips ul{margin:0;padding-left:18px}
.help-others{margin-bottom:10px}
.help-hitlist{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.help-hit{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}
.help-hit:hover{border-color:var(--accent);background:#f6fbfa}.help-hit small{color:var(--muted);font-size:12px}
.help-related{border-top:1px solid var(--line2);margin-top:12px;padding-top:4px}
.help-chips{display:flex;flex-wrap:wrap;gap:6px}
.help-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--accent2);font-weight:600}
.help-chip:hover{border-color:var(--accent);background:var(--accentbg)}
/* help centre */
.help-hero{background:linear-gradient(135deg,#f3fbfa,#fff)}
.help-heroin{display:flex;gap:16px;align-items:flex-start}
.help-heroico{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;font-size:26px;font-weight:800;display:grid;place-items:center;flex:none}
.help-bigq{font-size:15px;padding:11px 14px}
.help-result{display:block;padding:10px 4px;border-bottom:1px solid var(--line2);color:var(--ink)}
.help-result:hover{background:#f6fbfa;text-decoration:none}
.help-rhead{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:3px}.help-rhead b{color:var(--accent2);font-size:14px}
.help-kw{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.help-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.help-groups .card{margin-bottom:0}
.help-cards{display:flex;flex-direction:column;gap:8px}
.help-tcard{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line2);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fcfdfd}
.help-tcard:hover{border-color:var(--accent);text-decoration:none;background:#f6fbfa}.help-tcard b{color:var(--accent2)}
#help-glossary{margin-top:16px}
.help-gloss{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.help-gitem{border-bottom:1px solid var(--line2);padding:6px 0}.help-gitem dt{font-weight:700;color:var(--ink)}.help-gitem dd{margin:2px 0 0;font-size:12.5px;color:var(--ink2)}
.help-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.help-mod{border:1px solid var(--line2);border-radius:8px;padding:10px 12px;background:#fafbfb}.help-mod.on{border-color:#bfe3df;background:#f3fbfa}
.help-modh{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:3px}
.help-mod ul{margin:6px 0 0;padding-left:18px}
/* full topic page */
.help-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.help-side{position:sticky;top:10px}
.help-toc ol,.help-toc ul{margin:0;padding-left:20px;font-size:13px}.help-toc li{margin:4px 0}.help-toc .link{display:inline;text-align:left;font-weight:500;line-height:1.4}
.help-main .toolbar input{max-width:340px}
.help-main .help-body{max-width:860px}
/* field help */
.fhelp{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #bfe3df;background:var(--accentbg);color:var(--accent2);font-size:13px;line-height:1;cursor:pointer;padding:0;margin-left:5px;vertical-align:middle}
.fhelp:hover,.fhelp[aria-expanded="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.fhelp-pop{position:fixed;z-index:990;background:#1d2023;color:#f1f3f4;font-size:12.5px;line-height:1.45;border-radius:8px;padding:9px 11px;box-shadow:0 8px 24px rgba(0,0,0,.3)}

/* ---------- libraries ---------- */
.lib-tabs a{display:inline-block;padding:10px 14px;color:var(--ink2);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.lib-tabs a.on{color:var(--accent2);border-bottom-color:var(--accent)}.lib-tabs a:hover{text-decoration:none;color:var(--accent2)}
.lib-tool{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.lib-tool input[type=search]{flex:1 1 240px;max-width:380px}.lib-tool select{width:auto;max-width:240px}
.lib-count{font-size:12px;color:var(--muted);margin-bottom:6px}
.flag{display:inline-block;font-size:10.5px;font-weight:700;border-radius:4px;padding:1px 6px;margin:1px 2px 1px 0;background:#eef1f4;color:#46505a;white-space:nowrap}
.flag.k-hc{background:#fff1e0;color:#8a4a00}.flag.k-acid{background:#fbe0da;color:#9b2a18}.flag.k-sour{background:#f3e6fb;color:#6a2a8c}.flag.k-wat{background:#e2eefc;color:#1f4f9a}.flag.k-alk{background:#e3f4ea;color:#1d6b40}.flag.k-ht{background:#fde8d4;color:#8a4300}
.lv{display:inline-block;min-width:58px;text-align:center;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px}
.lv.l0{background:#eceef0;color:#6b737c}.lv.l1{background:#e3f4ea;color:#1d6b40}.lv.l2{background:#fbf2d5;color:#7b5b00}.lv.l3{background:#fde8d4;color:#8a4300}.lv.l4{background:#fbe0da;color:#9b2a18}
table.t td.flags{min-width:150px}
table.t td.notes{min-width:220px;font-size:12px;color:var(--ink2)}
tr.mat-row td:first-child:before{content:"▸";display:inline-block;width:14px;color:var(--accent);transition:transform .12s}
tr.mat-row.open td:first-child:before{transform:rotate(90deg)}
tr.mat-row.open td{background:#eef6f5}
tr.mat-det>td{background:#fafbfb;padding:10px 12px}
.mat-det .tw{max-height:360px;max-width:760px}
.dm-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.dm-def{font-size:14.5px;line-height:1.55;margin:0}
.dm-fm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dm-fm>div{border:1px solid var(--line2);border-radius:8px;padding:10px 12px;background:#fafbfb}
.dm-fm .k{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:4px}
.dm-fm .v{font-size:14px;font-weight:700}
.loc-group{margin-bottom:14px}.loc-group:last-child{margin-bottom:0}
.loc-group h4{margin:0 0 8px;font-size:13.5px;display:flex;align-items:center;gap:8px;color:var(--accent2)}
.loc-item{border:1px solid var(--line2);border-radius:8px;padding:9px 12px;margin-bottom:6px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:4px 14px;align-items:start}
.loc-item .nm{font-weight:700}.loc-item .rs{font-size:12.5px;color:var(--ink2)}.loc-item .nd{font-size:12px;color:var(--muted)}
.eff-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line2)}
.eff-row:last-child{border-bottom:0}
.eff-badge{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:15px}
.eff-A{background:#1d6b40}.eff-B{background:#2e9e5b}.eff-C{background:#c79a1e}.eff-D{background:#e8862a}
.chips-list{display:flex;flex-wrap:wrap;gap:6px}.chips-list span{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;background:#fff}
.dm-links{display:flex;flex-wrap:wrap;gap:4px}.dm-links a{font-size:12px;border:1px solid #bfe3df;background:#f3fbfa;border-radius:999px;padding:1px 8px;white-space:nowrap}

/* ---------- methodology ---------- */
.meth-formula{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;font-weight:700}
.meth-formula span{background:#f3fbfa;border:1px solid #bfe3df;border-radius:8px;padding:6px 10px;font-size:13px}
.meth-formula i{font-style:normal;color:var(--muted);font-weight:800}
.meth-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.meth-grid>.card{margin-bottom:0}
.rmx{display:grid;grid-template-columns:28px 34px repeat(5,minmax(0,1fr));gap:4px;max-width:520px;width:100%}
.rmx .c{border-radius:7px;height:56px;display:grid;place-items:center;font-weight:800;font-size:17px;position:relative}
.rmx .c small{position:absolute;bottom:3px;right:6px;font-size:9.5px;font-weight:600;opacity:.85}
.rmx .ax{display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700}
.rmx .axt{grid-row:1/span 5;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:grid;place-items:center}
.rmx .axb{grid-column:3/span 5;text-align:center;font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.meth-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.meth-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px 3px 4px;background:#fff}
.meth-legend i{width:16px;height:16px;border-radius:50%;display:inline-block}
.meth-editor{border-top:3px solid var(--accent)}
.meth-ed-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
.meth-preview{position:sticky;top:10px}
.meth-ed-sec{border:1px solid var(--line2);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.meth-ed-sec h4{margin:0 0 8px;font-size:13.5px;color:var(--accent2)}
.meth-lims{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.meth-lims input{padding:7px 8px;font-variant-numeric:tabular-nums}
.meth-lims label{font-size:11px;color:var(--muted);font-weight:600;display:block;margin-bottom:2px}
.meth-lims .sci{font-size:11px;color:var(--muted);margin-top:2px;min-height:14px}
.meth-levels td{padding:4px 6px!important}.meth-levels input{padding:6px 7px}.meth-levels input[type=number]{width:70px}
.meth-levels input[type=color]{width:44px;height:32px;padding:2px;cursor:pointer}
.meth-fmgrid{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:6px 10px;align-items:center;font-size:12.5px}
.meth-issues{margin:8px 0}
.meth-hist tr.cur td{background:#f3fbfa}
.meth-json{width:100%;min-height:280px;font-family:var(--mono);font-size:12px}

@media (max-width:1280px){.help-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.meth-ed-grid{grid-template-columns:minmax(0,1fr)}.meth-preview{position:static}}
@media (max-width:1024px){
  .help-layout{grid-template-columns:minmax(0,1fr)}.help-side{position:static}
  .meth-grid{grid-template-columns:minmax(0,1fr)}
  .dm-fm{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .help-drawer{width:100vw;border-radius:0}
  .help-dhead,.help-dsearch,.help-dscroll,.help-dfoot{padding-left:14px;padding-right:14px}
  .help-groups,.help-gloss{grid-template-columns:minmax(0,1fr)}
  .help-heroico{display:none}
  .loc-item{grid-template-columns:1fr}
  .dm-fm{grid-template-columns:1fr}
  .meth-lims{grid-template-columns:1fr 1fr}
  .rmx .c{height:44px;font-size:14px}
  .meth-fmgrid{grid-template-columns:1fr}
  .lib-tool select{max-width:none;flex:1 1 45%}
}
.lib-note{display:block;min-width:240px;max-width:360px;color:var(--ink2)}
/* audit 2026-10 (20): previous / next, index A–Z, module menu */
.help-pager{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line,#e3e6e9);margin-top:18px;padding-top:12px}
.help-pager .btn{max-width:48%;white-space:normal;text-align:left}
.help-az{columns:3 240px;column-gap:24px}.help-azg{break-inside:avoid;margin-bottom:10px}.help-azg b{display:block;color:var(--teal,#0f766e);font-size:15px}
.help-azg ul{list-style:none;margin:2px 0 0;padding:0;font-size:13.5px}.help-azg li{margin:3px 0}
.crumbs a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:600px){.help-pager .btn{max-width:100%}}
.helpq{padding:0 7px;min-height:0;line-height:18px;font-size:12px;vertical-align:middle}
/* V3 (1): shared academy */
.ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.ac-tile{display:block;text-decoration:none;color:inherit}
.ac-tile:hover{border-color:var(--accent)}
.ac-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:6px 0}
.ac-bar span{display:block;height:100%;background:var(--accent)}
.ac-course .ac-mod{margin:8px 0 4px}
.ac-ls li{margin:3px 0}
.ac-quizrow{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.ac-lesson .lead{font-size:1.02em}
.ac-stepbox{min-height:120px;margin:8px 0}
.ac-dots{display:flex;gap:4px;margin:6px 0}
.ac-dots span{width:18px;height:4px;border-radius:2px;background:var(--line)}
.ac-dots span.done{background:#9ac7c4}
.ac-dots span.on{background:var(--accent)}
.ac-ex{border-left:3px solid var(--accent);padding:6px 10px;background:rgba(0,133,127,.06);margin:8px 0;border-radius:4px}
.ac-q{border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0}
.ac-opt{display:flex;gap:6px;align-items:flex-start;margin:4px 0}
.ac-fb{margin-top:6px;padding:6px 8px;border-radius:6px}
.ac-fb.ok{background:rgba(46,158,91,.12)}
.ac-fb.bad{background:rgba(212,69,44,.10)}
.ac-hits li{margin:4px 0}
.ac-gloss dt{font-weight:600;margin-top:6px}
.ac-gloss dd{margin:2px 0 4px 0}
.ac-bh{margin:6px 0 2px}
.help-filters{margin:8px 0;flex-wrap:wrap;gap:10px}
.help-fb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:10px}

/* Engineering Calculations — calculator components migrated from MI-platform, drawn with Halo tokens.
   Everything is scoped to .ec so nothing leaks into other Halo screens. Buttons, cards, tabs and tables use Halo's own
   classes (the client emits .btn / .btn.primary / .card / .tabs). */
.ec{--pri:var(--accent);--pri2:var(--accent2);--priSoft:var(--accentbg);--card:var(--panel);--ok:#1d6b40;--okSoft:#e3f4ea;--bad:#b3261e;--badSoft:#fbe0da;
  --warn:#7a4b00;--warnSoft:#fff7e8;--code:#f1f3f5;--metal:#c4cad0;--metal2:#6b737c;--liq:#cfe7f5;--zone:#f3b3a7}
.ec .ecbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-4px 0 12px}
.ec .ecbar .ico{width:16px;height:16px;margin-right:4px}
.ec .ecunits{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--ink2);font-weight:600}
.ec .ecunits select{width:auto;padding:5px 8px}
.ec .grow{flex:1}
.ec .ecintro{margin-bottom:12px}
.ec .ecgrid .mcard{cursor:pointer}
.ec .ecmod .mc-code .ico{width:26px;height:26px;color:var(--accent)}
.ec h2{font-size:16px;margin:4px 0 10px}.ec h3{font-size:14px;margin:14px 0 6px}
.ec .muted,.ec .intro p{color:var(--muted)}
.ec .module{margin:14px 0}
.ec .subh{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:6px;margin:6px 0 10px}
.ec .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ec .ccard{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px;cursor:pointer;color:var(--ink);font:inherit;box-shadow:var(--shadow)}
.ec .ccard:hover{border-color:var(--accent);background:#f7fbfb}
.ec .ccard .thumb{display:block;height:90px;overflow:hidden}.ec .ccard .thumb svg{width:100%;height:90px}
.ec .ct{font-weight:700}.ec .cs{font-size:12px;color:var(--muted)}
.ec .calchead{margin-bottom:6px}.ec .calchead .std{color:var(--muted);font-size:12.5px;margin-bottom:6px}
.ec .calchead .tabs{align-items:center}
.ec .calchead .tabs .btn{margin:4px 0 4px 6px}
.ec .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.ec .lnk{background:none;border:0;color:var(--accent2);cursor:pointer;padding:0;text-decoration:underline}
.ec .dataGrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.ec .fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px 16px;margin-top:10px}
.ec .field{display:flex;flex-direction:column;gap:3px;min-width:0}.ec .field.wide{grid-column:1/-1}
.ec label.fl{font-weight:600;font-size:12.5px;color:var(--ink2)}
.ec .opt{font-weight:400;color:var(--muted);font-size:11.5px}
.ec input,.ec select,.ec textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 9px;width:100%;min-width:0}
.ec input:focus,.ec select:focus,.ec textarea:focus{outline:2px solid var(--accent);outline-offset:0}
.ec input.invalid{border-color:var(--bad);background:var(--badSoft)}
.ec input:disabled,.ec select:disabled,.ec textarea:disabled{background:#f4f5f6;color:var(--ink2)}
.ec .numrow{display:flex;gap:6px;align-items:center}
.ec .unit{color:var(--muted);font-size:12px;white-space:nowrap}
.ec .exbtn{background:none;border:0;color:var(--muted);font-size:11.5px;cursor:pointer;padding:0;text-decoration:underline dotted;text-align:left}
.ec .why summary{cursor:pointer;color:var(--accent2);font-size:12px}
.ec .why p{margin:4px 0;font-size:12.5px}
.ec .chk{display:flex;gap:8px;align-items:flex-start;font-size:13px}.ec .chk input{width:auto;margin-top:3px}
.ec .seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.ec .seg label{flex:1;text-align:center;padding:6px 4px;cursor:pointer;font-size:12.5px;border-right:1px solid var(--line)}
.ec .seg label:last-child{border-right:0}.ec .seg label.on{background:var(--accentbg);color:var(--accent2);font-weight:700}.ec .seg input{display:none}
.ec details.eq{border:1px solid var(--line2);border-radius:8px;padding:8px 10px;background:#fafbfb}
.ec .eq summary{cursor:pointer;font-weight:700}
.ec .eqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:8px}
.ec .eqgrid label,.ecmodal .modalin label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;margin:4px 0;font-weight:600;color:var(--ink2)}
.ec .hint{font-size:11.5px;color:var(--muted)}
.ec .tblwrap{overflow-x:auto}
.ec table{border-collapse:collapse;width:100%}
.ec .itbl td,.ec .itbl th,.ec .otbl td,.ec .otbl th{border-bottom:1px solid var(--line2);padding:6px 8px;text-align:left;font-size:12.5px;vertical-align:top}
.ec .itbl th,.ec .otbl th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#f7f8f9;border-bottom-color:var(--line)}
.ec .itbl input{min-width:80px;padding:4px 6px}.ec .itbl select{min-width:150px;padding:4px 6px}
.ec .otbl.kv td:first-child{color:var(--muted);width:40%}
.ec .figbox{margin:0;background:#f7f8f9;border:1px solid var(--line);border-radius:var(--r);padding:8px}
.ec .figbox.sticky{position:sticky;top:70px;align-self:start}
.ec .figbox figcaption{font-size:11px;color:var(--muted);text-align:center}
.ec .fig{width:100%;height:auto;display:block}
.ec .figsmall{margin:6px 0;max-width:320px}
/* technical drawings (classes emitted by the MI-platform figure generators) */
.ec .fw{fill:var(--metal);stroke:var(--metal2);stroke-width:1.2}.ec .fw2{fill:var(--metal2);stroke:var(--metal2)}
.ec .fi{fill:#fff;stroke:var(--line)}.ec .fc{stroke:var(--muted);stroke-dasharray:6 4;stroke-width:1}
.ec .fd{stroke:var(--accent);stroke-width:1.3}.ec .fa{fill:var(--accent)}
.ec .ft{fill:var(--accent2);font-size:13px;font-weight:600}.ec .fn{fill:var(--muted);font-size:11px}
.ec svg .fl{stroke:var(--muted);stroke-width:1;fill:none}.ec .fz{fill:var(--zone);opacity:.75}
.ec .fg{stroke:var(--line);stroke-width:1}.ec .fliq{fill:var(--liq);opacity:.7}.ec .fwline{stroke:var(--metal2);stroke-width:6}.ec .fbad{fill:var(--bad)}
/* learn tab */
.ec .learngrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.ec .lb{border-left:3px solid var(--accent);padding:2px 12px;margin:10px 0}.ec .lb p{margin:3px 0}.ec .lb h3{margin:0 0 2px}
.ec .kindtag{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--accentbg);color:var(--accent2);font-weight:700}
.ec .kindtag.edu{background:var(--okSoft);color:var(--ok)}
.ec .ref{color:var(--muted);font-size:11.5px}.ec .ref.warn{color:var(--warn)}
/* stepper, applicability, steps, results */
.ec .stepper{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 12px;flex-wrap:wrap}
.ec .stepper li{flex:1;min-width:170px;padding:9px 12px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:12.5px;font-weight:700}
.ec .stepper li.on{border-color:var(--accent);color:var(--accent2);background:var(--accentbg)}
.ec .stepper li.done{color:var(--ok);border-color:#b6dcc6;background:#f2faf5}.ec .stepper li.done:before{content:"\2713  "}
.ec .gate{list-style:none;padding:0;margin:0}.ec .gate li{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--line2);font-size:13px}
.ec .dot{width:12px;height:12px;border-radius:50%;flex:none;margin-top:4px}
.ec .gate .g .dot{background:var(--green)}.ec .gate .y .dot{background:var(--yellow)}.ec .gate .r .dot{background:var(--red)}
.ec .stopbox,.ecmodal .stopbox{background:var(--badSoft);border:1px solid #e7b3ae;color:var(--ink);border-radius:8px;padding:10px 12px;margin-top:10px;font-size:13px}
.ec .stopbox strong{color:var(--bad)}
.ec .okbox{background:var(--okSoft);border:1px solid #b6dcc6}.ec .spv{margin-top:6px;border-radius:8px;padding:8px 10px;font-size:12.5px}
.ec .infobox{background:var(--accentbg);border:1px solid #bfe3df;border-radius:8px;padding:10px 12px;margin:10px 0;font-size:13px}
.ec .s2grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ec .steps{list-style:none;padding:0;margin:0}
.ec .step{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;margin:10px 0;background:#fff}
.ec .step.new{animation:ecfade .3s;border-color:var(--accent)}
@keyframes ecfade{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}
.ec .sh{display:flex;gap:10px;align-items:center;font-weight:700}
.ec .sn{background:var(--accent);color:#fff;border-radius:50%;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.ec .eqline{display:flex;gap:10px;align-items:baseline;margin:5px 0;flex-wrap:wrap}
.ec .eqline .k{min-width:110px;color:var(--muted);font-size:12px}
.ec code{background:var(--code);padding:2px 6px;border-radius:5px;font-family:var(--mono);font-size:12.5px;white-space:pre-wrap;word-break:break-word}
.ec .res strong{font-size:15px;color:var(--accent2)}
.ec .stepnote{background:var(--accentbg);border-radius:8px;padding:6px 10px;font-size:12.5px;margin:6px 0 0}
.ec .trybox{background:var(--warnSoft);border-radius:8px;padding:8px 10px;margin:6px 0}.ec .trybox input{width:130px;display:inline-block}
.ec .status{font-weight:800;font-size:15px;padding:10px 14px;border-radius:8px;margin-bottom:10px}
.ec .status.pass{background:var(--okSoft);color:var(--ok)}.ec .status.fail,.ec .status.stop{background:var(--badSoft);color:var(--bad)}.ec .status.info{background:var(--accentbg);color:var(--accent2)}
.ec .checks,.ec .assm,.ec ul.warn{padding-left:18px}.ec .checks li,.ec .assm li,.ec ul.warn li{margin:5px 0;font-size:13px}
.ec .ok{color:var(--ok)}.ec .bad{color:var(--bad)}
.ec .akind{display:inline-block;font-size:11px;padding:1px 7px;border-radius:9px;background:var(--code);color:var(--muted);margin-right:4px}
.ec .akind.review-flag{background:var(--warnSoft);color:var(--warn)}.ec .akind.conservative-choice{background:var(--okSoft);color:var(--ok)}
.ec .note{font-size:12.5px}
.ec .screen{padding:8px 12px;border-radius:8px;margin:6px 0 10px;font-size:13px}
.ec .screen.ok{background:#e8f5ec;color:#135e2f}.ec .screen.info{background:#fff6dd;color:#6b4d00}.ec .screen.na{background:#fde8e8;color:#8a1c1c}
.ec .l2box{border:2px solid var(--accent);border-radius:var(--r);padding:10px 14px;margin:12px 0;background:var(--accentbg)}.ec .l2box p{margin:2px 0 8px}
.ec .autoval{display:inline-block;min-width:70px;padding:4px 6px;color:var(--muted);font-variant-numeric:tabular-nums}
.ec .matsel{max-width:100%}.ec .nowrap{white-space:nowrap}
.ec .ico{display:inline-flex;width:20px;height:20px;flex:none}.ec .ico svg{width:100%;height:100%}
/* report (printable) */
.ec .report{font-size:13px}
.ec .report h2{border-bottom:2px solid var(--accent);padding-bottom:3px;margin-top:22px}
.ec .rcover{border:2px solid var(--accent);border-radius:var(--r);padding:16px}
.ec .rapp{color:var(--accent2);font-weight:800;letter-spacing:.3px}
.ec .rmeta td{padding:3px 8px;border-bottom:1px solid var(--line2)}.ec .rmeta td:first-child{color:var(--muted);width:210px}
.ec .rstatus{margin-top:12px;font-weight:800;font-size:15px}
.ec .rstatus.pass{color:var(--ok)}.ec .rstatus.fail,.ec .rstatus.stop{color:var(--bad)}.ec .rstatus.info{color:var(--accent2)}
.ec .rt td,.ec .rt th{border:1px solid var(--line);padding:4px 6px;font-size:12px;vertical-align:top;text-align:left}
.ec .rfig{max-width:420px;margin:8px 0}.ec .refs{columns:2;font-size:12px}
.ec .rsign{margin-top:26px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}
/* modal (feedback) */
.ecmodal{position:fixed;inset:0;background:rgba(17,19,21,.45);display:flex;align-items:center;justify-content:center;z-index:120;padding:16px}
.ecmodal .modalin{background:var(--panel);border-radius:12px;padding:18px;max-width:560px;width:100%;box-shadow:var(--shadow)}
.ecmodal textarea,.ecmodal select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 9px;width:100%}
@media (max-width:900px){.ec .dataGrid,.ec .learngrid{grid-template-columns:1fr}.ec .figbox.sticky{position:static}.ec .stepper li{min-width:46%}}
@media (max-width:600px){.ec .fields{grid-template-columns:1fr}.ec .stepper li{min-width:100%}.ec .eqline .k{min-width:0;width:100%}.ec .refs{columns:1}}
@media print{.ec .stepper,.ec .ecbar,.ec .noprint,.ec .calchead .tabs{display:none!important}
  .ec .card{border:0;box-shadow:none;padding:0;margin:0}.ec .report h2{break-after:avoid}.ec .rt tr,.ec .step{break-inside:avoid}.ec .refs{columns:1}
  .ec .fw,.ec .fz,.ec .fliq{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* neutralise Halo's global .eq (formula chip) style on the MI "Equipment" block */
.ec details.eq{font-family:inherit;font-size:13px;color:var(--ink);background:#fafbfb;padding:8px 10px;border-radius:8px}
/* neutralise Halo global list/key-value styles that share class names with the MI calculator markup */
.ec ol.steps li.step{display:block;border-bottom:1px solid var(--line);padding:10px 12px}
.ec ol.steps li.step:before{content:none;display:none}
.ec table.kv{display:table;font-size:inherit}
.ec table.kv td{display:table-cell}
.ec .chk{display:flex;margin:4px 0}
/* audit fixes: Halo .tabs button reset must not strip the MI "+ New evaluation" / "Copy previous" buttons; disclaimer; print */
.ec .calchead .tabs button.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:4px 9px;border-bottom-width:1px;border-radius:8px;margin-left:6px}
.ec .calchead .tabs button.btn:hover{background:#f6f7f8}
.ec .ecdisc{margin:18px 0 4px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line2);padding-top:10px}
.ec-admin .card{margin-top:0}
@media print{.ec-ph,.ec .calchead,.ec .crumbs,.ec .ecdisc,.ec-admin{display:none!important}.ec .card,.ec .report{break-inside:auto!important}}

/* Asset Criticality Assessment */
.aca-lvl{letter-spacing:.2px}
.aca-src{font-weight:700}
.aca-flags{display:inline-flex;flex-wrap:wrap;gap:3px}
.aca-flag{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:#eceef0;color:#555d65;white-space:nowrap}
.aca-flag.f-overdue,.aca-flag.f-qc_fail{background:#fbe0da;color:#9b2a18}
.aca-flag.f-rbi_override,.aca-flag.f-rbi_changed{background:#fde8d4;color:#8a4300}
.aca-flag.f-regulatory,.aca-flag.f-ehss{background:#e3ecfb;color:#1f4fa8}
.aca-flag.f-low_confidence,.aca-flag.f-reg_unknown,.aca-flag.f-cmms_mismatch,.aca-flag.f-sys_mismatch,.aca-flag.f-peer_diff,.aca-flag.f-due_soon{background:#fbf2d5;color:#7b5b00}
.aca-flag.f-not_assessed{background:#f1f2f4;color:#6b737c}
.aca-flag.f-reassessment{background:var(--accentbg);color:var(--accent2)}
.aca-cfgban{margin-bottom:12px}
.aca-whyw{display:inline}
.aca-why{font-size:12px;font-weight:600;color:var(--accent2);margin-left:4px;padding:0;border:0;background:none;cursor:pointer;text-transform:none;letter-spacing:0}
.aca-whybox{display:block;margin:6px 0 8px;padding:9px 12px;border-left:3px solid var(--accent);background:var(--accentbg);border-radius:6px;font-size:12.5px;font-weight:400;color:var(--ink);line-height:1.45;text-transform:none;letter-spacing:0}
.kpi.amber .v{color:#a06800}
.aca-bar{display:flex;height:28px;border-radius:7px;overflow:hidden;background:#eef0f2;margin:6px 0}
.aca-bar .seg{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;min-width:22px}
.aca-bar .seg.empty{color:var(--muted);font-weight:400}
.aca-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink2)}
.aca-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.aca-cmp{display:grid;grid-template-columns:52px 1fr;align-items:center;column-gap:8px}
table.aca-mx{border-collapse:separate;border-spacing:3px;margin:4px 0 8px}
table.aca-mx td{width:54px;height:36px;text-align:center;color:#fff;font-weight:800;font-size:14px;border-radius:5px}
table.aca-mx th{font-size:11.5px;color:var(--ink2);padding:0 4px}
table.aca-mx-edit td{height:auto;padding:4px}
table.aca-mx-edit select{width:auto;min-width:64px;padding:3px 4px}
.aca-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aca-src-list{display:flex;flex-direction:column;gap:6px}
.aca-src-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border:1px solid var(--line2);border-radius:8px;color:var(--ink)}
.aca-src-row:hover{background:#f6f8f9;text-decoration:none}
.aca-od{color:var(--red);font-weight:700}
.aca-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.aca-filters select,.aca-filters input{width:auto;min-width:130px;max-width:240px}
.aca-filters input[type=search]{min-width:220px}
.aca-bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px}
table.aca-t td.cbx,table.aca-t th.cbx{width:28px;text-align:center}
.aca-ns{margin-left:6px;font-size:10px}
.aca-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}
.aca-taglist{display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow:auto;margin:6px 0}
.aca-trig{display:flex;flex-wrap:wrap;gap:6px}
.aca-qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.aca-qcard{display:block;background:#fff;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:10px;padding:12px 14px;color:var(--ink)}
.aca-qcard:hover{text-decoration:none;box-shadow:var(--shadow)}
.aca-qcard .v{font-size:26px;font-weight:800}.aca-qcard .l{font-weight:700}
.aca-qcard.sev-fail{border-left-color:var(--red)}.aca-qcard.sev-warn{border-left-color:var(--yellow)}
.aca-subj .kv{grid-template-columns:max-content 1fr max-content 1fr}
.aca-ovr{margin:0 0 12px;padding:12px 14px;border:2px solid var(--orange);background:#fff4e8;border-radius:10px;color:#6b3300}
.aca-ovr a{font-weight:700}
.aca-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.aca-side{position:sticky;top:12px}
.aca-res h3{margin-top:0}
.aca-final{text-align:center;padding:10px;border:1px solid var(--line2);border-radius:10px;margin-bottom:10px}
.aca-final .pill{font-size:15px;padding:5px 14px}
.aca-kv{grid-template-columns:max-content 1fr;font-size:13px}
table.aca-srct tr.gov td{background:var(--accentbg);font-weight:700}
.aca-sc{border-top:3px solid var(--accent)}
.aca-sc-h{display:flex;justify-content:space-between;align-items:center}
.aca-sc h4{margin:16px 0 6px;font-size:13.5px;color:var(--accent2);text-transform:uppercase;letter-spacing:.3px}
.aca-cons{display:grid;gap:6px}
.aca-cons-row{display:grid;grid-template-columns:180px minmax(0,1.4fr) minmax(0,1fr);gap:8px;align-items:center}
.aca-cons-row label.f{margin:0}
.aca-rd{align-items:end}
.aca-man{margin:6px 0}.aca-man summary{cursor:pointer;font-size:12.5px;color:var(--ink2)}
.aca-sg{display:grid;gap:6px;margin-bottom:6px}
.aca-sg-row{display:grid;grid-template-columns:190px minmax(0,1fr) auto auto auto auto;gap:8px;align-items:center}
.aca-sg-row .md-chk{margin:0;white-space:nowrap}
.aca-scres{margin-top:12px;padding:10px 12px;background:#f6f8f9;border:1px solid var(--line2);border-radius:8px}
.aca-scres-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
ol.aca-steps{margin:8px 0 0;padding-left:20px;font-size:12.5px;color:var(--ink2)}
ol.aca-steps li{margin:2px 0}
.aca-ext,.aca-doc{align-items:end}
ul.aca-qc{list-style:none;padding:0;margin:6px 0}
ul.aca-qc li{padding:6px 8px;border-bottom:1px solid var(--line2)}
ol.aca-wf{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 12px}
ol.aca-wf li{padding:5px 10px;border-radius:999px;background:#eceef0;color:#6b737c;font-size:12px;font-weight:700}
ol.aca-wf li.done{background:#e3f4ea;color:#1d6b40}ol.aca-wf li.on{background:var(--accent);color:#fff}
.aca-print-bar{display:flex;gap:8px;margin-bottom:12px}
.aca-rep-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:10px}
.aca-rep-h h2{margin:2px 0}
.aca-rep-lvl{text-align:right}.aca-rep-lvl .pill{font-size:15px;padding:5px 14px}
.aca-pre{white-space:pre-wrap}
.aca-dirty{margin-right:4px}
.aca-decide-sum{margin-bottom:10px}
@media (max-width:1100px){.aca-layout{grid-template-columns:minmax(0,1fr)}.aca-side{position:static}.aca-g3{grid-template-columns:1fr}}
@media (max-width:760px){
  .aca-subj .kv{grid-template-columns:max-content 1fr}
  .aca-cons-row{grid-template-columns:1fr}
  .aca-sg-row{grid-template-columns:1fr 1fr}
  .aca-sg-row input[type=text]{grid-column:1/-1}
  .aca-filters select,.aca-filters input,.aca-filters input[type=search]{min-width:0;max-width:none;flex:1 1 140px}
  table.aca-mx td{width:42px;height:30px}
}
@media print{
  /* the report flows continuously from the common header: a section may continue on the next page (a block that must fit
     on one page pushed the whole first section to page 2 and left page 1 with the header only) — only headings, table rows
     and short key/value pairs are kept together */
  .report-page .card.aca-rep{break-inside:auto!important;box-shadow:none;border:0;border-top:1px solid #bbb;border-radius:0;padding:8px 0 4px;margin:0 0 6px}
  .aca-rep h3,.aca-rep-h{break-after:avoid;break-inside:avoid}
  .aca-rep tr,.aca-rep .kv>*{break-inside:avoid}
  .aca-rep-sc{break-before:auto}
  .aca-why,.aca-whybox{display:none!important}
}
/* dashboard drill-down (7) */
.aca-bar a.seg{color:#fff;text-decoration:none;cursor:pointer}
.aca-bar a.seg:hover,.aca-bar a.seg:focus-visible{filter:brightness(1.12);outline:2px solid #fff;outline-offset:-2px}
.aca-mx td.click{cursor:pointer}
.aca-mx a.aca-mx-a{display:block;color:inherit;font-weight:700;text-decoration:none}
.aca-mx a.aca-mx-a:hover,.aca-mx a.aca-mx-a:focus-visible{text-decoration:underline}

/* Root Cause Analysis */
.rca-cfgban{margin-bottom:12px}
.rca-kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.kpi.on{outline:2px solid var(--accent)}
.rca-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rca-alerts h3{margin-top:0}
.rca-alist{display:flex;flex-direction:column;gap:6px}
.rca-alert{display:block;padding:8px 12px;border-radius:8px;background:#fff4e6;border-left:4px solid var(--orange);color:#6b3300;font-weight:600}
.rca-alert.a-latent_common,.rca-alert.a-recs_90,.rca-alert.a-rca_overdue{background:#fff0f0;border-left-color:var(--red);color:#8a1c1c}
.rca-alert:hover{text-decoration:none;filter:brightness(.98)}
.rca-pipe{display:flex;gap:6px;overflow-x:auto;padding:4px 0}
.rca-pstage{flex:1 0 74px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink);font-size:11px;text-align:center}
.rca-pstage .pb{width:100%;height:70px;background:#f1f3f5;border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}
.rca-pstage .pb i{display:block;width:100%;background:linear-gradient(180deg,#22a3b5,#1c7c8c);border-radius:6px 6px 0 0}
.rca-pstage.zero{opacity:.55}.rca-pstage b{font-size:15px}
.rca-pstage:hover{text-decoration:none}
.rca-bars{display:flex;flex-direction:column;gap:5px}
.rca-barrow{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:8px;align-items:center;font-size:12.5px;color:var(--ink)}
.rca-barrow .bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rca-barrow .bt{height:12px;background:#f1f3f5;border-radius:6px;overflow:hidden}
.rca-barrow .bt i{display:block;height:100%;background:#1c7c8c;border-radius:6px}
a.rca-barrow:hover{text-decoration:none;background:#f8f9fa}
.rca-trend{width:100%;max-width:900px;height:auto}
.rca-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.rca-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer}
.rca-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}
.rca-tab .cnt{display:inline-block;margin-left:5px;min-width:16px;padding:0 5px;border-radius:999px;background:rgba(0,0,0,.08);font-size:10.5px}
.rca-tab.on .cnt{background:rgba(255,255,255,.25)}
.rca-tab .cnt.r{background:var(--red);color:#fff}.rca-tab .cnt.y{background:#f0c419;color:#333}
.rca-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.rca-filters select,.rca-filters input{width:auto;min-width:130px;max-width:240px}
.rca-filters input[type=search]{min-width:220px}
.rca-prog{height:5px;background:#e9ecef;border-radius:4px;margin-top:4px;overflow:hidden;min-width:70px}
.rca-prog i{display:block;height:100%;background:#1c7c8c}
.rca-prog.big{height:10px}
.rca-sev{font-weight:700}.rca-st{font-weight:700}
.rca-conf{background:#f3f0ff;color:#5f3dc4}.rca-conf.c-restricted{background:#fff0f0;color:#a61e1e}
.rca-health{font-size:12px;font-weight:700;white-space:nowrap}
.rca-rag{font-size:11px}
.rca-evs{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}
.es-verified{background:#e3f4ea;color:#1d6b40}.es-partial{background:#e6fcf5;color:#087f5b}.es-hypothesis{background:#fff9db;color:#8a6d00}.es-unsupported{background:#fff0f0;color:#a61e1e}.es-rejected{background:#f1f3f5;color:#868e96;text-decoration:line-through}
.rca-hier{font-size:12px;font-weight:600}.rca-hier.weak{color:#a35c00}
.rca-sugb{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.4px;padding:1px 6px;border-radius:4px;background:#e7f5ff;color:#1864ab;border:1px dashed #74c0fc;vertical-align:1px}
.rca-helpw{display:inline}.rca-helpb{font-size:13px;font-weight:700;color:var(--accent2);margin-left:4px;padding:0;border:0;background:none;cursor:pointer}
.rca-helpbox{display:block;margin:6px 0 8px;padding:9px 12px;border-left:3px solid var(--accent);background:var(--accentbg);border-radius:6px;font-size:12.5px;font-weight:400;color:var(--ink);line-height:1.45;text-transform:none;letter-spacing:0}
.rca-helpbox div{margin:2px 0}
.rca-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
.rca-form.one{grid-template-columns:minmax(0,1fr)}
.rca-form .full,.rca-form .fw.full{grid-column:1/-1}
.rca-fsec{margin:10px 0 0;font-size:13px;color:var(--accent2);text-transform:uppercase}
.rca-multi{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:220px;overflow:auto;padding:6px;border:1px solid var(--line2);border-radius:8px}
.rca-multi .md-chk{margin:0}
.rca-person{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.errline{color:var(--red);font-size:12.5px;min-height:16px;margin-top:6px}
.errbox2{border:2px solid var(--red);background:#fff0f0;color:#8a1c1c;border-radius:8px;padding:10px 12px}
.errbox2 ul{margin:6px 0 0 18px}
.okbox{border:1px solid #8ce99a;background:#ebfbee;color:#1d6b40;border-radius:8px;padding:8px 12px}
.rca-ovr{margin-top:10px;padding:10px 12px;border:2px solid var(--orange);background:#fff4e6;border-radius:8px}
.rca-head{padding:10px 14px}
.rca-hrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.rca-wf{margin:10px 0 0}
.rca-wf li{font-size:11px}
.rca-more{position:relative;display:inline-block}
.rca-more summary{list-style:none;cursor:pointer}.rca-more summary::-webkit-details-marker{display:none}
.rca-morebox{position:absolute;right:0;top:100%;z-index:30;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:6px;min-width:200px}
.rca-fac summary{cursor:pointer}
.rca-facit{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:start;padding:7px 4px;border-top:1px solid var(--line2);font-size:13px}
.rca-facit .ic{font-weight:800;color:var(--accent2);text-align:center}
.rca-facit.sev-warn .ic{color:var(--orange)}
.rca-facit .x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:16px}
.rca-opts{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;align-items:center}
.rca-tabbar{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 12px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:10px;position:sticky;top:0;z-index:5}
.rca-tg{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.rca-tgl{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-right:2px}
.rca-tabbar .rca-tab{padding:4px 10px;font-size:12px}
.rca-ch{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rca-ch h3,.rca-ch h4{margin:6px 0}
.rca-kv{grid-template-columns:max-content 1fr;font-size:13px}
.rca-kv>div,.rca-rec{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.rca-kv{grid-template-columns:1fr}.rca-kv div:nth-child(odd){margin-top:6px;color:var(--muted)}}
.rca-pre{white-space:pre-wrap}
.rca-rowact{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.rca-files{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}
.rca-mgmt h3{margin-top:0}
.rca-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rca-fstep{border:1px solid var(--line2);border-top:4px solid var(--accent);border-radius:8px;padding:8px 10px;background:#fbfcfd;min-height:90px}
.rca-fstep .fk{font-size:11px;font-weight:800;color:var(--accent2);text-transform:uppercase;margin-bottom:4px}
.rca-rcul{margin:0;padding-left:16px;font-size:12.5px}
.rca-rcc{display:inline-block;font-size:10px;font-weight:800;padding:1px 6px;border-radius:4px;color:#fff;background:#868e96}
.rca-rcc.c-physical{background:#2f9e44}.rca-rcc.c-human{background:#ae3ec9}.rca-rcc.c-latent{background:#6741d9}
.rca-big{font-size:30px;font-weight:800;color:var(--ink)}
.rca-qs{display:flex;flex-direction:column;gap:2px;margin:8px 0}
.rca-q{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:5px 6px;border-bottom:1px solid var(--line2);font-size:13px}
.rca-yn{display:inline-flex;gap:10px;white-space:nowrap}
.rca-yn label{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:500;text-transform:none;letter-spacing:0;margin:0}
.rca-sug{margin:10px 0;padding:10px 12px;border:1px dashed #74c0fc;background:#f3f9ff;border-radius:8px}
.rca-sugres{font-size:17px;font-weight:800;color:#1864ab;margin:3px 0}
.rca-imp th{text-align:left;white-space:nowrap}.rca-imp input,.rca-imp select{min-width:90px}
.rca-wsteps{margin-bottom:10px}
.rca-wiz .rca-form{margin-bottom:10px}
.rca-wnav{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}
.rca-raci td{text-align:center;font-weight:700}.rca-raci td:first-child{text-align:left;font-weight:400}
.raci-R{background:#e7f5ff;color:#1864ab}.raci-A{background:#fff4e6;color:#a35c00}.raci-C{background:#f3f0ff;color:#5f3dc4}.raci-I{color:#868e96}
.rca-gantt{width:100%;min-width:640px;height:auto}
.rca-int h4,.rca-lesson h4{margin:10px 0 4px;font-size:12.5px;color:var(--accent2);text-transform:uppercase}
.rca-stk{font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:4px;background:#f1f3f5;color:#495057}
.rca-stk.k-fact{background:#e3f4ea;color:#1d6b40}.rca-stk.k-opinion{background:#fff4e6;color:#a35c00}.rca-stk.k-assumption{background:#fff0f0;color:#a61e1e}.rca-stk.k-hypothesis{background:#fff9db;color:#8a6d00}
.rca-items{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.rca-item{display:grid;grid-template-columns:150px 1fr auto auto;gap:6px;align-items:center}
.rca-item .md-chk{margin:0;white-space:nowrap}
.rca-tlctl{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.rca-tlctl input[type=range]{width:120px}
.rca-tlsvg{margin:8px 0;border:1px solid var(--line2);border-radius:8px;background:#fff}
.rca-tllist{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.rca-tlit{display:grid;grid-template-columns:120px 1fr auto;gap:10px;padding:7px 10px;border:1px solid var(--line2);border-left:5px solid #999;border-radius:8px;background:#fff;font-size:13px}
.rca-tlit.ev{background:#fff5f5}
.rca-recw{margin:6px 0;padding:7px 10px;background:#fff9db;border-radius:8px;color:#6d5600}
.rca-recacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rca-rec{border-left:4px solid var(--accent)}
.rca-effsug{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.rca-qasec h4{margin:12px 0 4px;color:var(--accent2)}
ul.aca-qc li.qa-fail{background:#fff5f5}ul.aca-qc li.qa-warn{background:#fffbea}
.rca-bias{list-style:none;padding:0;columns:2;font-size:13px}
.rca-bias li{margin:3px 0;break-inside:avoid}
/* analysis */
.rca-mhead h3{margin:4px 0}
.rca-mchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rca-mchip{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:700;cursor:pointer;color:var(--ink2)}
.rca-mchip.on{background:#1c7c8c;color:#fff;border-color:#1c7c8c}
.rca-mchip .x{opacity:.7}
.rca-tools{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:6px}
.rca-tools .md-chk{margin:0 0 0 6px}
.rca-hint{min-height:16px;color:var(--orange);font-weight:600}
.rca-canvasgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px;align-items:start}
.rca-canvasbox{border:1px solid var(--line);border-radius:10px;background:#fbfcfd repeating-linear-gradient(0deg,transparent 0 23px,#f1f3f5 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,#f1f3f5 23px 24px);overflow:hidden}
svg.rca-canvas{display:block;width:100%;height:600px;touch-action:none;user-select:none;outline:none}
svg.rca-canvas text{pointer-events:none}
.rca-side{position:sticky;top:60px;max-height:640px;overflow:auto;margin:0;font-size:13px}
.rca-sidehead{padding:4px 0 6px 10px;margin-bottom:6px}
.rca-sidebtns{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.rca-side h4{margin:10px 0 4px;font-size:12px;color:var(--accent2);text-transform:uppercase}
.rca-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;color:var(--ink2)}
.rca-legend span{display:inline-flex;align-items:center;gap:5px}
.rca-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.rca-legend .lg-hypothesis::before,.rca-legend .lg-supported::before,.rca-legend .lg-verified::before,.rca-legend .lg-rejected::before{content:'';display:inline-block;width:22px;height:12px;border-radius:3px;border:2px dashed #1c7ed6}
.rca-legend .lg-supported::before{border-style:solid;border-width:1.5px}.rca-legend .lg-verified::before{border-style:solid;border-width:3px}.rca-legend .lg-rejected::before{border-color:#adb5bd;border-style:dotted}
ul.rca-val{list-style:none;padding:0;margin:0}
ul.rca-val li{padding:5px 6px;border-bottom:1px solid var(--line2);font-size:13px}
.rca-fish{min-width:760px;height:auto}
.rca-fbcats .card{margin:0}
.rca-fbrow{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line2);font-size:13px}
.rca-bsum{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.pill.b-failed,.pill.b-missing,.pill.b-bypassed{background:#fff0f0;color:#a61e1e}.pill.b-degraded{background:#fff4e6;color:#a35c00}.pill.b-effective{background:#e3f4ea;color:#1d6b40}.pill.b-not_tested{background:#f1f3f5;color:#495057}
.rca-sys{display:flex;flex-direction:column;gap:6px}
.rca-sysit{display:grid;grid-template-columns:minmax(0,1.4fr) 170px minmax(0,1.4fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid var(--line2);border-left:4px solid #adb5bd;border-radius:8px}
.rca-sysit.st-lta{border-left-color:var(--red);background:#fff8f8}.rca-sysit.st-adequate{border-left-color:var(--green)}
table.rca-step{border-collapse:separate;border-spacing:4px;font-size:12px}
table.rca-step th{background:#f1f3f5;padding:4px 6px;white-space:nowrap;font-size:11px}
table.rca-step td{vertical-align:top;min-width:120px}
.rca-stepc{position:relative;border:1px solid var(--line);border-radius:7px;padding:5px 7px;background:#fff;margin-bottom:4px}
.rca-stepc .sk{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;color:var(--accent2)}
.rca-stepc .arr{position:absolute;left:-12px;top:6px;color:#868e96;font-weight:800}
.rca-stepc.k-action{border-left:4px solid #7048e8}.rca-stepc.k-condition{border-left:4px solid #4c6ef5;border-radius:16px}.rca-stepc.k-decision{border-left:4px solid #ae3ec9}.rca-stepc.k-event{border-left:4px solid #495057}.rca-stepc.ev{background:#fff5f5;border-color:#ffa8a8}
/* portfolio */
.rca-aging{display:flex;gap:14px;align-items:flex-end}
.rca-agb{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink);font-size:12px}
.rca-agb .bar{width:46px;height:90px;background:#f1f3f5;border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}
.rca-agb .bar i{display:block;width:100%;background:linear-gradient(180deg,#ff8787,#c92a2a)}
.rca-agb:hover{text-decoration:none}
.rca-recf{border:1px solid var(--line2);border-left:5px solid #f0c419;border-radius:8px;padding:8px 10px;margin:8px 0}
.rca-recf.st-confirmed{border-left-color:var(--red)}.rca-recf.st-dismissed{opacity:.6;border-left-color:#adb5bd}.rca-recf.sys{background:#fff8f8}
.rca-kpic h3{margin-top:0;font-size:14px}
.rca-gauge .gv{font-size:28px;font-weight:800}.rca-gauge .gv.ok{color:var(--green)}.rca-gauge .gv.mid{color:#b08900}.rca-gauge .gv.bad{color:var(--red)}
.rca-acgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.rca-actile{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.rca-actile:hover{text-decoration:none;box-shadow:var(--shadow)}
.rca-actile .ic{font-size:22px;color:var(--accent2)}
.rca-acm{max-width:980px}.rca-acm .lead{font-size:15px;color:var(--ink2)}
.rca-acex{margin:10px 0;padding:10px 12px;border-left:4px solid #1c7c8c;background:#f3fafb;border-radius:6px}
.rca-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0}
.rca-compare>div{padding:8px 10px;border-radius:8px;font-size:13px}
.cmp-bad{background:#fff0f0}.cmp-better{background:#fff9db}.cmp-stronger{background:#e7f5ff}.cmp-best{background:#e3f4ea}
.rca-gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:8px}
.rca-glit{padding:10px;border:1px solid var(--line2);border-radius:8px;font-size:13px}
.rca-quiz{margin:10px 0;padding:8px 0;border-bottom:1px solid var(--line2)}
.rca-quiz .md-chk{display:flex;margin:3px 0}
.rca-assetcard h3{margin-top:0}
/* reports */
.rca-print-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.rca-report{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 28px;max-width:1100px;position:relative;font-size:13px}
.rca-report h2{font-size:15px;border-bottom:2px solid var(--accent);padding-bottom:4px;margin:20px 0 8px;color:var(--accent2)}
.rca-report h3{font-size:13.5px;margin:12px 0 6px}
.rca-rephead{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;border-bottom:3px solid var(--accent);padding-bottom:10px;margin-bottom:10px}
.rca-rephead .rh-brand{display:flex;gap:8px;align-items:center}
.rca-rephead .rh-brand .logo{width:38px;height:38px}
.rca-rephead h1{font-size:19px;margin:0}
.rh-meta{font-size:11.5px;border-collapse:collapse}.rh-meta th{text-align:left;padding:1px 8px 1px 0;color:var(--muted);font-weight:600;white-space:nowrap}.rh-meta td{padding:1px 0}
.rca-rsec{break-inside:auto}
.rca-repdiag svg{border:1px solid var(--line2);border-radius:6px}
.rca-wm{position:static;display:block;margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.4px;color:#a61e1e;border:1px solid #ffa8a8;background:#fff5f5;border-radius:4px;padding:3px 8px;overflow-wrap:anywhere}
/* also repeated in the page footer of every printed page (rptPageCss classification, Chromium browsers) */
.rca-repfoot{margin-top:18px;padding-top:6px;border-top:1px solid var(--line2);font-size:10.5px;color:var(--muted)}
@media print{
  .noprint,.side,.top,.rca-print-bar{display:none!important}
  .rca-report{border:0;padding:0;max-width:none}
  .rca-report h2{break-after:avoid}
  .rca-report table{break-inside:auto}.rca-report tr{break-inside:avoid}
  @page{margin:16mm 12mm 18mm;@bottom-right{content:"Page " counter(page) " / " counter(pages);font-size:9pt;color:#666}}
}
/* responsive */
@media (max-width:1100px){.rca-canvasgrid{grid-template-columns:minmax(0,1fr)}.rca-side{position:static;max-height:none}.rca-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.rca-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.rca-g3,.rca-flow,.rca-form{grid-template-columns:minmax(0,1fr)}.rca-person{grid-template-columns:1fr}.rca-q{grid-template-columns:1fr}.rca-tlit{grid-template-columns:1fr}.rca-sysit{grid-template-columns:1fr}.rca-item{grid-template-columns:1fr}
  svg.rca-canvas{height:440px}.rca-bias{columns:1}.rca-rephead{grid-template-columns:1fr}.rca-tabbar{position:static}.rca-report{padding:14px}.rca-filters input[type=search]{min-width:0;width:100%}}

/* ---------- Reliability-Centred Maintenance ---------- */
.txt-red{color:var(--red)!important;font-weight:600}.txt-amber{color:#a86600!important;font-weight:600}.txt-green{color:#2b7a3d!important}
.pre{white-space:pre-wrap}
.okbox{background:#ecf8f0;border:1px solid #b6dcc6;border-radius:8px;padding:8px 10px;margin:6px 0;color:#1f5e33}
.tabs a.tab{padding:10px 14px;color:var(--ink2);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}
.tabs a.tab.on{color:var(--accent2);border-bottom-color:var(--accent)}
.rcm-cfgban{margin-bottom:12px}
.rcm-kv{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:6px 14px;align-items:start;margin:8px 0}
.rcm-kv>div:nth-child(odd){color:var(--muted);font-size:12.5px}
.kpi .v.nd{font-size:15px;color:var(--muted);font-weight:600}
.rcm-alist{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow:auto}
.rcm-alert{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:6px 8px;border-radius:8px;border:1px solid var(--line2);text-decoration:none;color:inherit;font-size:13px}
.rcm-alert:hover{background:#f6f8f9}.rcm-alert.lv-high{border-left:4px solid var(--red)}.rcm-alert.lv-medium{border-left:4px solid #e0a800}.rcm-alert.lv-low{border-left:4px solid #adb5bd}
.rcm-prio{font-weight:800}.rcm-prio.p-p1{background:#b42318;color:#fff}.rcm-prio.p-p2{background:#e8590c;color:#fff}.rcm-prio.p-p3{background:#d4a106;color:#fff}.rcm-prio.p-p4{background:#868e96;color:#fff}
.rcm-rl{font-weight:700}.rcm-rl.rl-rl1{background:#b42318;color:#fff}.rcm-rl.rl-rl2{background:#e8590c;color:#fff}.rcm-rl.rl-rl3{background:#d4a106;color:#fff}.rcm-rl.rl-rl4{background:#2f9e44;color:#fff}
.rcm-sugb{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.5px;background:#ede7ff;color:#5b3cc4;border:1px solid #cfc2ff;border-radius:999px;padding:1px 7px;vertical-align:middle}
.rcm-ds{display:inline-block;font-size:10.5px;border-radius:999px;padding:1px 7px;margin-left:4px;border:1px solid var(--line)}
.rcm-ds.ds-confirmed{background:#ecf8f0;color:#1f5e33}.rcm-ds.ds-estimated{background:#fff6e0;color:#8a5a00}.rcm-ds.ds-pending,.rcm-ds.ds-unknown{background:#fdecec;color:#9b1c1c}.rcm-ds.ds-na{background:#f1f3f5;color:#555}
.rcm-issues{list-style:none;margin:6px 0;padding:0;font-size:12.5px}.rcm-issues li{margin:3px 0;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.rcm-actbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.rcm-actbar.sm{margin-top:6px}
.rcm-rowact{display:inline-flex;gap:4px;flex-wrap:wrap}
/* header + stepper */
.rcm-head h2{margin:0 0 6px}.rcm-headkv{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px}
.rcm-stepper{display:flex;list-style:none;padding:0;margin:12px 0 0;gap:2px;overflow-x:auto}
.rcm-stepper li{flex:1;min-width:86px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--muted);text-align:center;position:relative}
.rcm-stepper li .n{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e9ecef;font-weight:700;color:#555}
.rcm-stepper li.done .n{background:#2b8a3e;color:#fff}.rcm-stepper li.on .n{background:var(--accent);color:#fff;box-shadow:0 0 0 3px rgba(0,128,128,.2)}.rcm-stepper li.on{color:var(--ink);font-weight:700}
.rcm-tabs .rcm-tb{margin-left:4px;font-size:10px;padding:0 5px}
/* wizard */
.rcm-steps{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.rcm-stp{padding:6px 12px;border-radius:999px;background:#f1f3f5;font-size:13px;color:var(--muted)}.rcm-stp.on{background:var(--accent);color:#fff;font-weight:700}.rcm-stp.done{background:#d3f0dc;color:#1f5e33}
.rcm-eqlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;max-height:420px;overflow:auto;padding:4px}
.rcm-wzbtn{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
/* FMEA worksheet */
.rcm-fn{border-left:4px solid var(--accent)}.rcm-fnh,.rcm-ffh{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rcm-no{font-family:ui-monospace,Menlo,monospace;background:#f1f3f5;border-radius:6px;padding:1px 6px}
.rcm-stmt{font-weight:600}.rcm-ff{margin:10px 0 6px 18px;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;background:#fcfcfd}
/* decision wizard */
.rcm-decw h4{margin:14px 0 6px}.rcm-dq h4{margin:10px 0 4px;color:var(--accent2)}
.rcm-dqrow{display:grid;grid-template-columns:1fr 150px;gap:8px;align-items:center;padding:4px 0;border-bottom:1px dashed var(--line2);font-size:13px}
.rcm-dqrow:has(input){grid-template-columns:1fr 110px 1fr}
.rcm-hint{margin:10px 0;padding:8px 10px;background:#f6f3ff;border:1px solid #e0d7ff;border-radius:8px;font-size:13px}
.rcm-cons{display:flex;flex-direction:column;gap:3px}.rcm-consrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rcm-consrow .md-chk{min-width:230px}
/* risk matrix */
.rcm-matrix{max-width:520px}.rcm-matrix td{height:46px;font-weight:600;font-size:12px}.rcm-mxn{font-size:13px;font-weight:800}
/* calendar */
.rcm-calh{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:8px;text-transform:capitalize}
.rcm-calg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.rcm-cald{min-height:84px;border:1px solid var(--line2);border-radius:6px;padding:3px;font-size:11px;overflow:hidden;display:flex;flex-direction:column;gap:2px}
.rcm-cald.empty{border:0}.rcm-cald.today{border-color:var(--accent);background:#f0fbfa}.rcm-cald .dn{font-weight:700;color:var(--muted)}
.rcm-cali{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;padding:1px 4px;text-decoration:none;color:#fff;background:#4c6ef5}
.rcm-cali.due-overdue{background:#c92a2a}.rcm-cali.due-due_soon{background:#e0a800}.rcm-cali.due-done{background:#868e96}.rcm-cali.due-on_time{background:#2b8a3e}
/* learning, reports */
.rcm-lesson summary{cursor:pointer;font-size:14.5px}.rcm-lesson p{line-height:1.55}
.rcm-gloss dt{font-weight:700;margin-top:8px}.rcm-gloss dd{margin:2px 0 0 0;color:var(--ink2)}
.rcm-replist li{margin:6px 0}.rcm-chks{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.rcm-rphead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:2px solid var(--accent);margin-bottom:12px;padding-bottom:8px}
.rcm-assetcard h3{margin-top:0}
@media (max-width:700px){.rcm-kv{grid-template-columns:1fr}.rcm-kv>div:nth-child(odd){margin-top:6px}.rcm-dqrow,.rcm-dqrow:has(input){grid-template-columns:1fr}.rcm-calg{grid-template-columns:repeat(7,minmax(38px,1fr))}.rcm-cali{font-size:9px}.rcm-ff{margin-left:0}}
@media print{.rcm-actbar,.rcm-rowact,.rcm-tabs{display:none!important}.rcm-stepper li .n{border:1px solid #999}}

/* 2026-10-30 update — TML group engineering data, geometry volume, calculation labels */
.te-inh { display: grid; gap: 4px; }
.te-row { display: grid; grid-template-columns: minmax(160px, 1.2fr) minmax(140px, 1fr) minmax(140px, 1fr) minmax(180px, 1.4fr); gap: 8px; align-items: center; padding: 4px 0; border-bottom: 1px solid var(--line2); }
.te-row.te-head { font-size: 12px; color: var(--muted); border-bottom: 1px solid var(--line); }
.te-row input.te-ov, .te-row .combo.te-ov input { border-color: var(--orange); background: #fff7ee; }
@media (max-width: 760px) { .te-row { grid-template-columns: 1fr 1fr; } .te-row.te-head { display: none; } }
.te-res .te-ok, .geo-vol .geo-ok { border-left: 4px solid var(--accent); background: var(--accentbg); padding: 8px 10px; border-radius: 6px; }
.te-res pre { white-space: pre-wrap; max-height: 220px; overflow: auto; }
.te-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.te-chip { white-space: normal; text-align: left; font-size: 11px; }
.te-mk { font-size: 9px; color: var(--muted); margin-left: 1px; }
.te-gline { margin: 2px 0 8px; color: var(--ink2); }
.te-cfg.warn { border-left: 4px solid var(--orange); }
.te-pend { border-left: 4px solid var(--yellow); }
.te-init label.md-chk { margin-right: 16px; }
.geo-vol { margin-top: 8px; }
.geo-parts { margin: 4px 0 0 16px; }
.ec-noz { border-left: 4px solid var(--accent); }
/* 2026-10-30 (update 2): independent nozzle calculator */
.nz-banner{background:#fff4e5;border:2px solid #e8590c;color:#8a2c00;border-radius:8px;padding:10px 12px;margin:10px 0;letter-spacing:.02em}
.nz-banner b{font-size:1.05em}
.nz-learnhelp{display:none}
.nz-learning .nz-learnhelp{display:block;color:#8a4b00}
.nz-actions{display:flex;gap:8px;margin:10px 0 16px}
.nz-sec .row3{align-items:flex-start}
.nz-res .kv b.mx-red{color:var(--red)}
@media print{.nz-actions,.nz-rechead .btn{display:none!important}.nz-form input,.nz-form select{border:none;background:none;-webkit-appearance:none;appearance:none;color:#000}}

/* 2026-10-31 (3): inspector / approving engineer pickers — full names readable on desktop and mobile */
.ins-people{max-width:720px}
.combo.people input{font-weight:600;min-height:40px;font-size:14px}
.combo.people .combo-list{min-width:min(520px,calc(100vw - 32px));max-height:min(360px,60vh)}
.combo.people .combo-opt{padding:10px 12px;white-space:normal;word-break:break-word}
.combo.people .combo-opt span{font-weight:600;font-size:14px}
.people-sel{margin-top:4px}
select.wide-select{min-width:min(420px,100%);width:100%;font-size:14px;padding:8px}
.pol-steps{margin:6px 0 0 0;padding-left:20px}.pol-steps li{margin:4px 0}.pol-step.todo b{color:var(--muted)}
@media (max-width:640px){.ins-people{max-width:none}.combo.people .combo-list{left:0;right:auto;width:calc(100vw - 32px)}}
.a2f table td,.a2f table th{vertical-align:top}
.a2f .a2f-on{background:rgba(0,133,127,.09)}
.a2f summary{cursor:pointer}
