.vfsim-overlay{position:fixed;inset:0;z-index:2000000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,7,18,.78);backdrop-filter:blur(10px)}
.vfsim-overlay.is-open{display:flex}.vfsim-shell{width:min(1180px,98vw);height:min(860px,94vh);display:grid;grid-template-rows:auto 1fr auto;color:#eef6ff;background:#0d1729;border:1px solid rgba(255,255,255,.16);border-radius:20px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.65);font-family:Arial,sans-serif}
.vfsim-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:linear-gradient(110deg,#122340,#0a1425);border-bottom:1px solid rgba(255,255,255,.1)}.vfsim-header h2{margin:0;font-size:21px}.vfsim-header p{margin:5px 0 0;color:#92a5bd;font-size:12px}.vfsim-close{border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.vfsim-body{min-height:0;display:grid;grid-template-columns:210px 1fr}.vfsim-nav{padding:14px;background:#091322;border-right:1px solid rgba(255,255,255,.08);overflow:auto}.vfsim-nav button{width:100%;display:flex;gap:9px;align-items:center;margin:3px 0;padding:11px;border:0;border-radius:9px;color:#9eb0c6;background:transparent;text-align:left;cursor:pointer}.vfsim-nav button.active,.vfsim-nav button:hover{color:#fff;background:#173052}.vfsim-content{padding:22px;overflow:auto}
.vfsim-page{display:none}.vfsim-page.active{display:block}.vfsim-page h3{margin:0 0 6px}.vfsim-help{margin:0 0 18px;color:#91a4bb;font-size:13px;line-height:1.5}.vfsim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vfsim-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.vfsim-field{display:grid;gap:6px;font-size:12px;color:#b9c7d8}.vfsim-field input,.vfsim-field select,.vfsim-field textarea{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #2a3c56;border-radius:8px;background:#111f34;color:#fff;outline:none}.vfsim-field input:focus,.vfsim-field select:focus{border-color:#1eb7ff}.vfsim-field small{color:#72859d}.vfsim-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vfsim-check{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #263a54;border-radius:10px;background:#101e32;cursor:pointer}.vfsim-check input{margin-top:3px}.vfsim-card{margin:14px 0;padding:15px;border:1px solid #243850;border-radius:12px;background:#0f1d30}.vfsim-card h4{margin:0 0 12px;color:#67d0ff}.vfsim-note{padding:11px 13px;border-left:3px solid #ffc857;background:#2a2518;color:#e6d39b;border-radius:5px;font-size:12px}
.vfsim-entity-list{display:grid;gap:9px}.vfsim-entity{display:grid;grid-template-columns:1.2fr repeat(3,minmax(100px,1fr));gap:8px;align-items:center;padding:10px;border:1px solid #263b55;border-radius:9px;background:#101d30}.vfsim-entity strong{overflow:hidden;text-overflow:ellipsis}.vfsim-entity input,.vfsim-entity select{min-width:0;padding:8px;border:1px solid #304662;border-radius:7px;background:#13243b;color:#fff}
.vfsim-validation{display:grid;gap:8px}.vfsim-message{padding:10px 12px;border-radius:8px;font-size:12px}.vfsim-message.error{background:#3a1720;color:#ffb4c0}.vfsim-message.warning{background:#352c16;color:#f8d98b}.vfsim-message.ok{background:#123221;color:#94efb5}.vfsim-json{height:360px!important;font:12px/1.5 Consolas,monospace!important;white-space:pre}
.vfsim-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid rgba(255,255,255,.1);background:#0a1424}.vfsim-actions{display:flex;gap:9px;flex-wrap:wrap}.vfsim-btn{padding:10px 15px;border:1px solid #314965;border-radius:9px;background:#172940;color:#fff;cursor:pointer}.vfsim-btn.primary{border-color:#00a8f5;background:#008fd4}.vfsim-btn.success{border-color:#23a15a;background:#1b7e47}.vfsim-status{font-size:12px;color:#91a4bb}.vfsim-badge{display:inline-block;padding:3px 8px;border-radius:99px;background:#163451;color:#72d5ff;font-size:11px}
.vfsim-north{display:flex;align-items:center;gap:12px}.vfsim-north-arrow{font-size:35px;color:#33c4ff;transform-origin:center}.vfsim-hidden{display:none!important}
@media(max-width:800px){.vfsim-shell{height:96vh}.vfsim-body{grid-template-columns:1fr}.vfsim-nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.vfsim-nav button{width:auto;white-space:nowrap}.vfsim-grid,.vfsim-grid.three,.vfsim-checks{grid-template-columns:1fr}.vfsim-entity{grid-template-columns:1fr 1fr}.vfsim-content{padding:15px}.vfsim-footer{align-items:flex-start;flex-direction:column}}
.vfsim-status.has-error{color:#ff9a9a}
