:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#dce4e3;background:#0d1114;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:#1a2327;border:1px solid #2b373b;border-radius:7px;color:#e5ebea;padding:10px 14px;transition:.15s}button:hover{background:#273539;border-color:#65817e}button:disabled{opacity:.5;cursor:wait}.primary{background:#b0efcf;color:#12241c;border-color:#b0efcf;font-weight:650}.primary:hover{background:#d1ffe5;color:#10221b}input,select{background:#131b1e;color:#cfdad7;border:1px solid #2b383b;border-radius:6px;padding:10px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #9cdbbd;outline-offset:2px}label{display:block;color:#aebcb8;font-size:12px;line-height:2.4}a{color:inherit;text-decoration:none}h1{font-size:34px;letter-spacing:-1.2px;font-weight:550;margin:9px 0}h1 span,.brand span{color:#a8e8c9}h2{font-size:16px;font-weight:550;margin:0}h3{font-size:14px;margin:0}p{color:#82958f;line-height:1.65}small{font-size:11px;color:#7c918a}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#81928b;font-weight:650}.hidden{display:none!important}aside{width:238px;position:fixed;inset:0 auto 0 0;background:#11181b;border-right:1px solid #253034;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:26px;padding:0 10px;color:#b4efcf}.brand b{font-size:21px;font-weight:600;color:#edf2ef;letter-spacing:-.8px}.workspace{display:flex;align-items:center;gap:10px;border:1px solid #2c3739;border-radius:8px;margin:36px 0 28px;padding:12px;font-size:12px}.workspace small{display:block;margin-top:5px;font-size:10px}.cloud-icon{font-weight:800;color:#e27c62;border:1px solid #704b3d;padding:5px 8px;border-radius:6px}.dot{display:inline-block;width:6px;height:6px;background:#9edbbd;border-radius:100%}.workspace>.dot{margin-left:auto}.nav-label{padding:8px 12px;font-size:9px;margin-top:12px}nav button{border:0;background:transparent;width:100%;display:flex;gap:12px;align-items:center;text-align:left;color:#83958e;margin:4px 0;padding:12px;font-size:16px}nav button span{font-size:13px}nav button.active{background:#25372f;color:#bcf1d4}.aside-bottom{margin-top:auto;padding:20px 8px 0}.status-line{font-size:10px;color:#7c9186;display:flex;gap:8px;align-items:center}.aside-bottom button{border:0;background:transparent;font-size:12px;margin-top:14px;padding-left:0}main{margin-left:238px}header{height:80px;border-bottom:1px solid #253034;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:18px}.breadcrumb{font-size:12px;color:#758b81}.breadcrumb span{margin:0 14px;color:#3e5048}.breadcrumb b{font-weight:400;color:#cfdbd5}.selectors{display:flex;gap:10px}.selectors select{max-width:210px;font-size:11px}.main-content{max-width:1500px;margin:auto;padding:38px 40px 22px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-heading p{font-size:12px;margin:0}.page-heading button{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 25px}.stat{background:#141c20;border:1px solid #2a3639;border-radius:9px;padding:21px}.stat-top{display:flex;justify-content:space-between;color:#8fa49a;font-size:11px}.stat-top i{font-style:normal;color:#9ac7b2;font-size:16px}.stat strong{display:block;font-weight:500;font-size:32px;letter-spacing:-1px;margin:17px 0 8px}.stat small{font-size:10px}.panel{background:#121a1d;border:1px solid #293538;border-radius:9px;margin-bottom:20px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #273337;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head small{font-size:11px}.panel-head input{max-width:220px;padding:8px 10px;font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;letter-spacing:1px;font-weight:500;color:#7d9389;background:#151f22;padding:13px 20px;white-space:nowrap}td{padding:18px 20px;border-top:1px solid #233034;color:#becbc4}td small{display:block;margin-top:6px;font-size:10px}td .resource{font-weight:550;color:#e0e9e3;background:transparent;border:0;padding:0;text-align:left;font-size:12px}td .resource:hover{color:#a8e8c9}.tag{display:inline-flex;gap:7px;align-items:center;border:1px solid #355244;border-radius:5px;color:#a8e8c9;background:#1c3027;font-size:9px;padding:4px 7px;white-space:nowrap}.tag.muted{color:#b9c4c0;background:#273036;border-color:#3d484e}.actions{display:flex;gap:5px}.actions button{font-size:10px;padding:6px 8px;white-space:nowrap}.panel-body{padding:22px}.empty{text-align:center;padding:38px;color:#758c80;line-height:1.8;font-size:12px}.error{color:#e7b39a;font-size:12px;line-height:1.7;padding:18px;border:1px solid #614537;background:#2b221e;border-radius:7px;overflow-wrap:anywhere}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.note{font-size:12px;line-height:1.8;color:#839c8e}.mini-line{display:flex;justify-content:space-between;border-bottom:1px solid #263430;padding:14px 0;font-size:12px}.mini-line:last-child{border:0}.mini-line span{color:#8ca295}.mini-line b{font-weight:450;color:#c9d8ce}footer{display:flex;justify-content:space-between;margin-top:35px;color:#52695c;font-size:10px;border-top:1px solid #25332c;padding-top:20px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#223b30 0,transparent 60%)}.login-card{width:420px;max-width:calc(100% - 40px);padding:38px;background:#121b1e;border:1px solid #304237;border-radius:14px}.brandmark{font-size:40px;color:#b0efcf;margin-bottom:36px}.login-card .eyebrow{font-size:8px;letter-spacing:1.3px}.login-card p{font-size:12px}.login-card label{margin-top:30px}.login-card button{width:100%;display:flex;justify-content:space-between;margin:20px 0}.login-card small{font-size:9px}.login-card #loginError{color:#f3b595}dialog{background:#141f22;color:#dce5df;border:1px solid #41564b;border-radius:12px;padding:26px;width:760px;max-width:calc(100% - 32px)}dialog::backdrop{background:#050b09c9;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head button{padding:5px 10px}pre{font-size:11px;line-height:1.7;white-space:pre-wrap;word-break:break-all;color:#a7c3b2;background:#0d1516;padding:18px;border:1px solid #2d4036;border-radius:6px;max-height:450px;overflow:auto}#confirm{max-width:460px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}textarea{width:100%;min-height:170px;background:#0e1719;color:#c7d9cd;border:1px solid #35473d;border-radius:6px;padding:12px;font:11px monospace}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid button{margin-top:12px}.chart{height:150px;width:100%}.chart polyline{fill:none;stroke:#b1edcd;stroke-width:2}.metric-label{display:flex;justify-content:space-between;font-size:10px;color:#789582}.loading{padding:45px;color:#90b29d;font-size:12px}.loading:before{content:'◌';display:inline-block;animation:spin 2s linear infinite;margin-right:10px;font-size:20px}@keyframes spin{to{transform:rotate(360deg)}}#banner{margin-bottom:20px}.bar-row{display:grid;grid-template-columns:180px 1fr 90px;gap:14px;align-items:center;margin:20px 0;font-size:12px}.bar-track{height:7px;background:#25382b;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:#abdfbf}.bar-row b{text-align:right;font-weight:400}.subheading{font-size:11px;color:#89a092;margin:25px 0 12px}.hint{font-size:11px;color:#8da497;line-height:1.8}#actionError{color:#eeb498}code{color:#b6dec5;font-size:11px;overflow-wrap:anywhere}@media(min-width:1500px){.main-content{padding-top:45px}}@media(max-width:1050px){aside{width:190px;padding:25px 12px}main{margin-left:190px}.brand b{font-size:18px}header{padding:0 24px}.main-content{padding:28px 24px}.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:700px){aside{position:static;width:100%;padding:14px;border-right:0;border-bottom:1px solid #2c3b31}.brand{font-size:22px}.workspace,.nav-label,.aside-bottom{display:none}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap;padding:10px;font-size:12px}aside nav+nav{margin-top:0}main{margin-left:0}header{height:auto;padding:14px 18px;display:block}.breadcrumb{display:none}.selectors select{max-width:50%}.main-content{padding:25px 16px}.page-heading h1{font-size:28px}.page-heading p{max-width:230px;font-size:11px}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:26px}.panel-head{padding:16px}.panel-head input{max-width:140px}th,td{padding:14px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.bar-row{grid-template-columns:100px 1fr 70px}.eyebrow{font-size:8px}}
#firewall{width:1150px;max-height:90vh}#ruleEditor{width:680px;max-height:94vh}#ruleForm{margin-top:18px}.firewall-toolbar{display:flex;gap:10px;justify-content:flex-end;margin:18px 0}.target-row{display:flex;justify-content:space-between;align-items:center;border:1px solid #35483c;border-radius:8px;padding:18px;margin:12px 0;gap:15px}.target-row small{display:block;margin-top:7px}.policy-help{margin-top:25px;color:#9db5a5;font-size:12px}.success{padding:12px 16px;color:#c0f1d3;background:#213b2d;border:1px solid #3b694d;border-radius:7px;margin:12px 0}#ruleSummary{word-break:normal;overflow-wrap:anywhere}#ruleForm .wide{margin:0}#firewall .table-wrap{border:1px solid #293c31;border-radius:6px}#firewall td{padding:13px}#ruleError{margin-top:18px}@media(max-width:700px){.firewall-toolbar{flex-wrap:wrap}.target-row{flex-direction:column;align-items:stretch}.actions{flex-wrap:wrap}.form-grid .wide{grid-column:1/-1}}
