*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8f9fc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-surface:#f1f3f8;--border:#e2e8f0;--border-light:#cbd5e1;--text:#0f172a;--text2:#475569;--text3:#94a3b8;--green:#059669;--green-bg:#ecfdf5;--green-border:#a7f3d0;--red:#dc2626;--red-bg:#fef2f2;--red-border:#fecaca;--amber:#d97706;--amber-bg:#fffbeb;--amber-border:#fde68a;--blue:#2563eb;--blue-bg:#eff6ff;--blue-border:#bfdbfe;--purple:#7c3aed;--purple-bg:#f5f3ff;--purple-border:#c4b5fd;--teal:#0d9488;--teal-bg:#f0fdfa;--teal-border:#99f6e4;--hsbc:#0d2bd8;--hsbc-bg:#eff6ff;--mono:"JetBrains Mono",monospace;--sans:"DM Sans",sans-serif;--r:8px;--rs:5px;--rl:12px}html{font-size:14px}html[dir=rtl]{--sans:"Noto Sans Hebrew","Noto Sans Arabic","DM Sans",sans-serif}html[lang=zh]{--sans:"Noto Sans SC","DM Sans",sans-serif}html[lang=hi]{--sans:"Noto Sans Devanagari","DM Sans",sans-serif}body{font-family:var(--sans);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}.app{grid-template-rows:1fr;grid-template-columns:1fr;min-height:100vh;display:grid}.hbar{background:var(--hsbc);grid-column:1/-1;justify-content:space-between;align-items:center;padding:7px 24px;display:flex}.hlogo{color:#fff;letter-spacing:.5px;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.hlogo svg{width:28px;height:28px;display:none}.hlogo small{opacity:.8;margin-left:6px;font-size:12px;font-weight:400}.hright{align-items:center;gap:10px;display:flex}.htag{color:#ffffffa6;font-size:10px;font-weight:500}.lsel{border-radius:var(--rs);color:#fff;font-size:11px;font-family:var(--sans);cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;outline:none;padding:3px 8px}.lsel option{color:#fff;background:#1e293b}.side{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;grid-row:2/4;padding:14px 0;display:flex;overflow-y:auto}html[dir=rtl] .side{border-right:none;border-left:1px solid var(--border);grid-area:2/2/4}.slogo{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:10px;padding:0 16px 14px;display:flex}.slogo-i{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.slogo-t{font-size:13px;font-weight:600;line-height:1.2}.slogo-t span{color:var(--text3);font-size:10px;font-weight:400;display:block}.nsec{margin-bottom:4px;padding:0 10px}.nlbl{text-transform:uppercase;letter-spacing:1.2px;color:var(--text3);padding:6px 8px 4px;font-size:9px;font-weight:600}.ni{border-radius:var(--rs);color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;padding:7px 10px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.ni:hover{background:var(--bg-surface);color:var(--text)}.ni.active{background:var(--blue-bg);color:var(--blue)}.ni svg{flex-shrink:0;width:16px;height:16px}.nsp{flex:1}.tbar{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 24px;display:flex}html[dir=rtl] .tbar{grid-column:1}.tbar-l{align-items:center;gap:14px;display:flex}.tbar-t{font-size:13px;font-weight:600}.tbar-s{color:var(--text3);font-size:10px}.tbar-r{align-items:center;gap:8px;display:flex}.live-dot{color:var(--green);align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.live-dot:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;animation:1.5s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--rs);color:var(--text2);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--sans);padding:5px 11px;transition:all .12s}.btn:hover{border-color:var(--border-light);color:var(--text);background:var(--bg-surface)}.btn.p{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.p:hover{background:#1d4ed8}.btn.exec{background:var(--hsbc-bg);color:var(--hsbc);border-color:var(--red-border)}.btn.exec:hover{background:var(--hsbc);color:#fff}.main{grid-column:1;padding:20px 24px;overflow:visible}.mrow{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px;display:grid}.mrow.c4{grid-template-columns:repeat(4,1fr)}.mrow.c3{grid-template-columns:repeat(3,1fr)}.mc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:13px 15px;transition:box-shadow .2s;position:relative;overflow:hidden}.mc:hover{box-shadow:0 2px 8px #0000000f}.mc:after{content:"";height:2px;position:absolute;top:0;left:0;right:0}.mc.cg:after{background:var(--green)}.mc.ca:after{background:var(--amber)}.mc.cb:after{background:var(--blue)}.mc.cp:after{background:var(--purple)}.mc.cr:after{background:var(--red)}.mc.ch:after{background:var(--hsbc)}.ml{color:var(--text3);text-transform:uppercase;letter-spacing:.7px;align-items:center;gap:5px;margin-bottom:5px;font-size:10px;font-weight:600;display:flex}.mv{font-family:var(--mono);letter-spacing:-.5px;font-size:19px;font-weight:600;transition:color .3s}.md{align-items:center;gap:3px;margin-top:4px;font-size:10px;font-weight:500;display:flex}.md.up{color:var(--green)}.md.dn{color:var(--red)}.md.nu{color:var(--text3)}.tip{background:var(--blue-bg);width:15px;height:15px;color:var(--blue);cursor:pointer;font-size:9px;font-style:normal;font-weight:700;font-family:var(--sans);border:1px solid var(--blue-border);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}#tipOverlay{z-index:9998;display:none;position:fixed;inset:0}#tipBox{background:var(--text);color:#fff;border-radius:var(--r);z-index:9999;text-transform:none;letter-spacing:0;width:270px;padding:12px 16px;font-size:11.5px;font-weight:400;line-height:1.6;display:none;position:absolute;box-shadow:0 8px 24px #00000040}.prow{grid-template-columns:1fr 340px;gap:12px;margin-bottom:18px;display:grid}.pan{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.ph{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.pt{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.pa{color:var(--blue);cursor:pointer;font-size:10px;font-weight:500}table.t{border-collapse:collapse;width:100%}.t th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:2;padding:7px 10px;font-size:9px;font-weight:600;position:sticky;top:0}html[dir=rtl] .t th{text-align:right}.t td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px;font-size:11.5px}.t tr{cursor:pointer;transition:background .1s}.t tr:hover td{background:var(--bg-card-hover)}.t tr.sel td{background:var(--blue-bg)}.t tr.flash td{animation:.6s rflash}@keyframes rflash{0%{background:var(--green-bg)}to{background:0 0}}.cid{font-family:var(--mono);color:var(--blue);font-size:10.5px;font-weight:500}.sbar{align-items:center;gap:6px;display:flex}.strk{background:var(--border);border-radius:2px;flex:1;height:3px;overflow:hidden}.sfil{border-radius:2px;height:100%;transition:width .5s}.snum{font-family:var(--mono);text-align:right;min-width:22px;font-size:10.5px;font-weight:600}html[dir=rtl] .snum{text-align:left}.badge{font-family:var(--mono);white-space:nowrap;border-radius:14px;padding:2px 7px;font-size:10px;font-weight:600}.badge.up{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.badge.dn{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.badge.nu{background:var(--bg-surface);color:var(--text3);border:1px solid var(--border)}.vt{font-family:var(--mono);color:var(--text2);font-size:10.5px}.ctag{border-radius:var(--rs);background:var(--bg-surface);color:var(--text2);border:1px solid var(--border);padding:2px 6px;font-size:10px;font-weight:500}.tscr{max-height:100%;overflow-y:auto}.dempty{text-align:center;color:var(--text3);padding:28px;font-size:11px}.dh{border-bottom:1px solid var(--border);background:var(--bg-surface);padding:13px 14px}.dh-id{font-family:var(--mono);color:var(--blue);font-size:15px;font-weight:600}.dh-sub{color:var(--text3);margin-top:2px;font-size:10px}.dscr{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:6px;padding:10px 14px;display:grid}.dsi{background:var(--bg-surface);border-radius:var(--rs);padding:8px}.dsi-l{text-transform:uppercase;letter-spacing:.7px;color:var(--text3);margin-bottom:2px;font-size:8.5px;font-weight:600}.dsi-v{font-family:var(--mono);font-size:15px;font-weight:600}.dsi-bar{background:var(--border);border-radius:2px;height:4px;margin:5px 0 4px;overflow:hidden}.dsi-bar-fill{border-radius:2px;height:100%;transition:width .5s}.dsi-explain{color:var(--text2);font-size:9px;font-weight:400;line-height:1.4}.dsec{border-bottom:1px solid var(--border);padding:10px 14px}.dsec-t{text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:6px;font-size:9.5px;font-weight:600}.sig{align-items:flex-start;gap:6px;padding:4px 0;font-size:10.5px;line-height:1.5;display:flex}.sigd{border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:5px}.sigd.up{background:var(--amber)}.sigd.dn{background:var(--green)}.sigd.fl{background:var(--red)}.sigt{color:var(--text2)}.sigt b{color:var(--text);font-weight:500}.recbox{border-radius:var(--rs);border:1.5px solid;margin:10px 14px;padding:11px}.recbox.widen{background:var(--green-bg);border-color:var(--green-border)}.recbox.tighten{background:var(--red-bg);border-color:var(--red-border)}.recbox.hold{background:var(--bg-surface);border-color:var(--border)}.recbox-l{text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px;font-size:9px;font-weight:700}.recbox.widen .recbox-l{color:var(--green)}.recbox.tighten .recbox-l{color:var(--red)}.recbox.hold .recbox-l{color:var(--text3)}.recbox-v{font-family:var(--mono);font-size:17px;font-weight:600}.recbox-r{color:var(--text2);margin-top:3px;font-size:10px;line-height:1.4}.brow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chc{height:200px;padding:12px 14px;position:relative}.fi{border-bottom:1px solid var(--bg-surface);align-items:center;gap:7px;padding:6px 14px;font-size:10.5px;animation:.35s fin;display:flex}@keyframes fin{0%{opacity:0;background:var(--green-bg);transform:translateY(-8px)}to{opacity:1;background:0 0;transform:translateY(0)}}.fi-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.fi-time{font-family:var(--mono);color:var(--text3);min-width:44px;font-size:9.5px}.fi-text{color:var(--text2);flex:1}.fi-amt{font-family:var(--mono);color:var(--text);font-size:10.5px;font-weight:600}.code{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--rs);font-family:var(--mono);color:var(--text2);white-space:pre;margin-top:8px;padding:11px 13px;font-size:10.5px;line-height:1.7;overflow-x:auto}.code .k{color:var(--blue)}.code .s{color:var(--green)}.code .n{color:var(--amber)}.code .c{color:var(--text3);font-style:italic}.rcard{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 14px;transition:background .1s;display:flex}.rcard:hover{background:var(--bg-card-hover)}.rcard-icon{border-radius:var(--rs);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.rcard-icon.high{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.rcard-icon.med{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.rcard-body{flex:1;min-width:0}.rcard-top{align-items:center;gap:8px;margin-bottom:3px;display:flex}.rcard-client{font-family:var(--mono);color:var(--blue);font-size:11px;font-weight:500}.rcard-type{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:1px 6px;font-size:9px;font-weight:600}.rcard-type.high{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.rcard-type.med{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.rcard-desc{color:var(--text2);margin-bottom:6px;font-size:10.5px;line-height:1.5}.rcard-meta{color:var(--text3);margin-bottom:8px;font-size:9.5px}.rcard-actions{gap:6px;display:flex}.rcard-btn{border-radius:var(--rs);cursor:pointer;font-size:10px;font-weight:600;font-family:var(--sans);border:1px solid;padding:4px 12px;transition:all .15s}.rcard-btn.review{background:var(--blue-bg);color:var(--blue);border-color:var(--blue-border)}.rcard-btn.review:hover{background:var(--blue);color:#fff}.rcard-btn.dismiss{background:var(--bg-surface);color:var(--text3);border-color:var(--border)}.rcard-btn.dismiss:hover{background:var(--border);color:var(--text)}.rcard-btn.escalate{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.rcard-btn.escalate:hover{background:var(--red);color:#fff}.rcard-btn.done{background:var(--green-bg);color:var(--green);border-color:var(--green-border);pointer-events:none}.exo{background:var(--bg);z-index:1000;flex-direction:column;display:none;position:fixed;inset:0;overflow-y:auto}.exo.show{display:flex}.ext{background:var(--hsbc);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 28px;display:flex}.ext-t{color:#fff;white-space:nowrap;font-size:20px;font-weight:700}.ext-c{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sbtn{border-radius:var(--rs);color:#ffffffb3;cursor:pointer;font-size:11px;font-weight:600;font-family:var(--sans);white-space:nowrap;background:0 0;border:1px solid #ffffff4d;flex-shrink:0;padding:7px 16px;transition:all .15s}.sbtn:hover{background:#ffffff1a}.sbtn.act{color:var(--hsbc);background:#fff;border-color:#fff}.exb{flex:1;width:100%;max-width:1300px;margin:0 auto;padding:28px}.exm{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.emc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--rl);text-align:center;padding:22px;transition:transform .2s}.emc:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.emc-l{text-transform:uppercase;letter-spacing:.8px;color:var(--text3);justify-content:center;align-items:center;gap:5px;margin-bottom:8px;font-size:10px;font-weight:600;display:flex}.emc-v{font-family:var(--mono);letter-spacing:-1px;font-size:32px;font-weight:700;transition:all .4s}.emc-s{color:var(--text2);margin-top:6px;font-size:11px}.exrow{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.exc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--rl);padding:18px 22px}.exc-t{align-items:center;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.ebar{align-items:center;gap:8px;margin-bottom:7px;display:flex}.ebar-l{color:var(--text2);min-width:70px;font-size:10.5px}html[dir=rtl] .ebar-l{text-align:right}.ebar-trk{background:var(--bg-surface);border-radius:4px;flex:1;height:7px;overflow:hidden}.ebar-fil{border-radius:4px;height:100%;transition:width .6s}.ebar-v{font-family:var(--mono);text-align:right;min-width:44px;font-size:10.5px;font-weight:600}html[dir=rtl] .ebar-v{text-align:left}.excl{border-radius:var(--rs);color:#fff;cursor:pointer;font-size:11px;font-family:var(--sans);background:#ffffff1f;border:1px solid #ffffff40;padding:5px 12px}.pulse-up{animation:.5s pup}.pulse-dn{animation:.5s pdn}@keyframes pup{0%{color:var(--green);transform:scale(1.04)}to{transform:scale(1)}}@keyframes pdn{0%{color:var(--red);transform:scale(1.04)}to{transform:scale(1)}}.sparkle{background:var(--green);opacity:0;border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:8px}html[dir=rtl] .sparkle{left:8px;right:auto}.sparkle.on{opacity:0;animation:.8s spark}@keyframes spark{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}@media (width<=1100px){.prow,.brow{grid-template-columns:1fr}.exm{grid-template-columns:repeat(2,1fr)}.exrow{grid-template-columns:1fr}}@media (width<=800px){.app{grid-template-columns:1fr}.side{display:none}.mrow{grid-template-columns:repeat(2,1fr)}}.cp-grid-line-v{pointer-events:none;z-index:0;background:#2320e617;width:1px;position:absolute;top:0;bottom:0}@media (width<=1150px){.cp-grid-line-v{display:none}}
