:root{--bg:#061323;--bg2:#071b30;--panel:#081d32;--panel2:#0a223b;--line:#1d4261;--line2:#123653;--text:#f3f8ff;--muted:#88a3bd;--blue:#3d88ff;--cyan:#40d6dc;--green:#37dc7c;--amber:#ffb51b;--red:#ff4b47;--purple:#a56aff;--sidebar:188px;--radius:9px;--shadow:0 16px 40px rgba(0,0,0,.24)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 54% 0,#0b2945 0,transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#071b30,#061627 70%,#051321);border-right:1px solid var(--line);z-index:20;display:flex;flex-direction:column}.brand{height:61px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--line2)}.brand strong{font-size:18px;letter-spacing:.7px;display:block}.brand small{display:block;font-size:10px;font-weight:800}.brand-mark{width:25px;height:34px;position:relative}.brand-mark i{position:absolute;width:11px;height:11px;background:#dfeaff;transform:rotate(45deg)}.brand-mark i:nth-child(1){top:2px;left:7px}.brand-mark i:nth-child(2){top:12px;left:-1px}.brand-mark i:nth-child(3){top:12px;left:15px}.brand-mark i:nth-child(4){top:22px;left:7px}.nav{padding:9px 4px;display:flex;flex-direction:column;gap:3px;overflow:auto;scrollbar-width:thin}.nav-item{min-height:43px;border:0;border-left:3px solid transparent;color:#dce9f7;background:transparent;display:flex;align-items:center;gap:11px;text-align:left;padding:7px 11px;cursor:pointer;transition:.2s}.nav-item span{font-size:19px;width:22px;text-align:center;color:#dbe9f9}.nav-item b{font-weight:520;font-size:12.4px;line-height:1.18}.nav-item:hover{background:#0b2946}.nav-item.active{background:linear-gradient(90deg,#0e3c69,#0a2b4b);border-left-color:#2d96ff}.nav-item.active span{color:#47b4ff}.collapse{margin-top:auto;height:45px;border:0;border-top:1px solid var(--line2);background:transparent;color:var(--muted);text-align:left;padding:0 18px;cursor:pointer}.main{min-width:0}.topbar{height:61px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;background:rgba(5,19,34,.94);backdrop-filter:blur(14px);z-index:15}.topbar h1{font-size:18px;margin:0;letter-spacing:.3px}.topbar p{display:none}.top-actions{display:flex;align-items:center;gap:0;color:#abc0d3;font-size:11px}.top-actions>span,.top-actions>button{border-left:1px solid var(--line);padding:0 15px;height:27px;display:flex;align-items:center}.top-actions>span:first-child{border-left:0}.top-actions button{position:relative;background:transparent;border-top:0;border-right:0;border-bottom:0;color:#eef7ff;cursor:pointer;font-size:16px}.top-actions em{position:absolute;top:-3px;right:5px;background:var(--red);border-radius:9px;font-size:8px;padding:1px 4px}.live{color:var(--green)!important;font-weight:750}.live i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);margin-right:8px}.workspace,.module-view{padding:10px}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:9px}.kpi{min-height:121px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(11,40,66,.96),rgba(7,27,47,.96));padding:15px;display:flex;gap:13px;box-shadow:var(--shadow);overflow:hidden}.kpi-icon{flex:0 0 51px;height:51px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:25px;background:rgba(255,255,255,.025);box-shadow:inset 0 0 24px currentColor}.kpi label{display:block;color:#d8e8f6;font-size:11px;margin-bottom:5px}.kpi strong{font-size:21px;line-height:1.05;display:block;white-space:nowrap}.kpi strong small{font-size:10px}.kpi p{margin:6px 0 9px;color:#a8bdd0;font-size:10px;white-space:nowrap}.kpi footer{border-top:1px solid var(--line);padding-top:7px;display:flex;gap:18px;font-size:9px}.kpi footer span{color:var(--muted)}.kpi footer b{color:var(--green)}.kpi.red footer b{color:var(--red)}.kpi.amber footer b{color:var(--amber)}.kpi.purple{color:var(--purple)}.kpi.blue{color:#3d99ff}.kpi.cyan{color:var(--cyan)}.kpi.red{color:var(--red)}.kpi.amber{color:var(--amber)}.kpi.green{color:var(--green)}.kpi>div:last-child{color:var(--text);min-width:0;flex:1}.split{display:grid!important;grid-template-columns:auto 1fr;font-size:11px!important;gap:2px 16px}.split b{text-align:right}.dashboard-grid{display:grid;grid-template-columns:minmax(500px,1.02fr) minmax(500px,1fr);grid-template-rows:350px 355px;gap:9px}.panel{background:linear-gradient(150deg,rgba(8,30,51,.98),rgba(5,23,40,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-head{height:43px;display:flex;align-items:center;padding:0 13px;gap:7px}.panel h2{font-size:13px;margin:0;letter-spacing:.35px}.info{width:16px;height:16px;border:1px solid #718ca5;border-radius:50%;background:transparent;color:#9bb0c4;padding:0;font-size:10px}.filters{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:9px}.filters label{display:flex;align-items:center;gap:6px}.filters select,.filters input,.filters button,.link,.module-title button{height:27px;border:1px solid var(--line);border-radius:4px;background:#0b243d;color:#dbe9f7;padding:0 10px;outline:none}.filters input{width:125px}.filters button,.link,.module-title button{cursor:pointer}.link{margin-left:auto;color:#3ea6ff;border:0;background:transparent}.network{position:relative;height:calc(100% - 43px);background-image:radial-gradient(circle at center,rgba(30,116,183,.16),transparent 48%),radial-gradient(#174366 1px,transparent 1px);background-size:auto,18px 18px}.connections{position:absolute;inset:0;width:100%;height:100%}.connections path{fill:none;stroke:url(#lineGlow);stroke-width:1.25;opacity:.75;filter:drop-shadow(0 0 3px #4dafff)}.hub,.node{position:absolute;transform:translate(-50%,-50%)}.hub{left:50%;top:50%;width:93px;height:93px;border:2px solid #4ca7ff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#134f83,#071e35 70%);box-shadow:0 0 18px #268cff,inset 0 0 18px rgba(65,160,255,.4);z-index:2}.hub span{font-size:25px}.hub b{font-size:11px}.hub small{font-size:10px}.hub i{position:absolute;inset:-10px;border:1px dashed #4383bd;border-radius:50%;animation:spin 18s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.node{width:108px;border:0;background:transparent;color:white;display:flex;flex-direction:column;align-items:center;cursor:pointer}.node>span{width:52px;height:52px;border:1px solid #61a8e7;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#174e7b,#092038 70%);box-shadow:0 0 12px rgba(69,155,240,.6);font-size:22px}.node b{font-size:11px;margin-top:4px}.node small{font-size:8px;color:#a6bdd0;margin-top:2px}.node.normal:before,.node.attention:before,.node.critical:before{position:absolute;top:-5px;right:-12px;padding:2px 8px;border-radius:3px;font-size:8px}.node.normal:before{content:"Normal";color:var(--green);border:1px solid #237747;background:#082d24}.node.attention:before{content:"Attention";color:var(--amber);border:1px solid #886014;background:#342709}.node.critical:before{content:"Critical";color:var(--red);border:1px solid #9f2927;background:#341110}.n-board{left:27%;top:20%}.n-treasury{left:50%;top:12%}.n-compliance{left:73%;top:20%}.n-finance{left:22%;top:50%}.n-recon{left:78%;top:50%}.n-executive{left:27%;top:82%}.n-external{left:50%;top:88%}.n-branches{left:73%;top:82%}.liquidity-panel{display:flex;flex-direction:column}.chart{height:230px}.liquidity-foot{height:58px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.liquidity-foot>div{padding:8px 35px;border-left:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center}.liquidity-foot>div:first-child{border-left:0}.liquidity-foot b{color:#43aaff;font-size:10px}.liquidity-foot b em{color:var(--purple);font-style:normal}.liquidity-foot strong{font-size:15px}.liquidity-foot small{grid-column:2;color:var(--green);font-size:9px}.flow-panel{grid-row:2}.flow-chart{height:238px}.flow-totals{height:73px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.flow-totals>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--line)}.flow-totals>div:first-child{border-left:0}.flow-totals small{color:var(--muted);margin-bottom:6px}.flow-totals b{font-size:16px}.flow-totals em{font-size:9px;font-style:normal}.flow-totals .success b{color:var(--green)}.flow-totals .failed b{color:var(--red)}.right-stack{grid-column:2;grid-row:2;display:grid;grid-template-rows:133px 213px;gap:9px;min-width:0}.exceptions-panel .panel-head,.status-panel .panel-head{height:34px}.table-wrap{overflow:auto}.panel table{width:100%;border-collapse:collapse;font-size:9px}.panel th{height:22px;color:#9fb4c8;font-weight:500;text-align:left;background:#0b2742;white-space:nowrap}.panel th,.panel td{padding:4px 9px;border-bottom:1px solid #12334f}.panel td{white-space:nowrap;color:#bed0e0}.badge{padding:2px 7px;border:1px solid;border-radius:3px}.badge.normal{color:var(--green);background:#082d24}.badge.attention{color:var(--amber);background:#342709}.badge.critical,.badge.open{color:var(--red);background:#341110}.badge.investigating{color:#55aaff;background:#0b2946}.online{color:var(--green)}.offline{color:var(--red)}.pagination{height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;color:var(--muted);font-size:9px}.pagination button{width:25px;height:23px;border:1px solid var(--line);background:transparent;color:#b4c7d7}.pagination button.active{background:#0e3c69;color:white}.module-view{min-height:calc(100vh - 61px)}.module-title{display:flex;justify-content:space-between;align-items:center;margin:6px 2px 16px}.module-title p{color:#6e93b5;margin:0 0 5px}.module-title h2{font-size:25px;margin:0}.module-title button{height:35px}.module-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.module-card{padding:20px;min-height:135px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#0b2946,#071b30);box-shadow:var(--shadow)}.module-card small{color:#7fa0bc}.module-card strong{display:block;font-size:25px;margin:13px 0 8px}.module-card span{color:var(--green)}.module-panel{height:460px}.module-chart{height:400px}.toast{position:fixed;right:18px;bottom:18px;background:#0c2c49;border:1px solid #2d6c9e;padding:12px 17px;border-radius:7px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s;z-index:30}.toast.show{transform:none;opacity:1}.mobile-menu{display:none}.sidebar.collapsed{width:68px}.sidebar.collapsed .brand div:last-child,.sidebar.collapsed .nav-item b,.sidebar.collapsed .collapse span{display:none}.sidebar.collapsed .brand{padding:0 20px}.sidebar.collapsed .nav-item{justify-content:center}.app-shell:has(.sidebar.collapsed){grid-template-columns:68px 1fr}
@media(max-width:1280px){:root{--sidebar:176px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr;grid-template-rows:350px 350px 355px}.network-panel{grid-row:1}.liquidity-panel{grid-row:2}.flow-panel{grid-row:3}.right-stack{grid-column:1;grid-row:4;height:355px}.dashboard-grid{padding-bottom:365px}.top-actions .readonly{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-240px;width:230px;transition:.25s}.sidebar.open{left:0}.main{width:100%}.mobile-menu{display:block;background:transparent;border:0;color:white;font-size:20px}.topbar{height:62px;padding:0 12px}.topbar h1{font-size:13px}.top-actions>span{display:none}.top-actions .live{display:flex}.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid{display:flex;flex-direction:column}.panel{min-height:330px}.right-stack{display:flex;height:auto;flex-direction:column}.exceptions-panel,.status-panel{min-height:260px}.workspace{padding:7px}.module-cards{grid-template-columns:1fr 1fr}.filters label{display:none}.kpi{padding:11px}.kpi-icon{display:none}}
