*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f6f8;--bg2:#fff;--bg3:#f0f2f5;--bg4:#e8ebef;--border:#e2e6ed;--border2:#d0d7e2;--text:#1a2332;--text2:#4a5568;--text3:#8a9ab0;--sidebar-bg:#2f405f;--sidebar-w:220px;--topbar-bg:#fff;--accent:#00d629;--accent2:#00b020;--accent-light:#00d6291f;--teal:#0891b2;--green:#059669;--green2:#d1fae5;--amber:#d97706;--amber2:#fef3c7;--red:#dc2626;--red2:#fee2e2;--purple:#7c3aed;--purple2:#ede9fe;--gray:#6b7280;--gray2:#f3f4f6;--radius:5px;--radius-lg:8px;--shadow-sm:0 1px 2px #0000000f;--shadow:0 2px 8px #00000014;--shadow-lg:0 8px 24px #0000001a;--font:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--mono:"JetBrains Mono","Fira Code",monospace}#root,body,html{-webkit-font-smoothing:antialiased;background:#f5f6f8;background:var(--bg);color:#1a2332;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:13px;height:100%;line-height:1.5}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d0d7e2;background:var(--border2);border-radius:8px}.login-wrap{align-items:center;background:linear-gradient(135deg,#0f1621,#172033 50%,#1a2845);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:40px 44px;width:400px}.login-logo{gap:10px;margin-bottom:28px}.login-logo,.login-logo-icon{align-items:center;display:flex}.login-logo-icon{background:#00d629;background:var(--accent);border-radius:8px;color:#fff;font-size:15px;font-weight:800;height:38px;justify-content:center;width:38px}.login-logo-text{color:#1a2332;color:var(--text);font-size:17px;font-weight:700;letter-spacing:-.3px}.login-logo-sub{color:#8a9ab0;color:var(--text3);display:block;font-size:11px;margin-top:1px}.login-title{color:#1a2332;color:var(--text);font-size:20px;font-weight:700;margin-bottom:6px}.login-sub{color:#8a9ab0;color:var(--text3);font-size:13px;margin-bottom:24px}.login-field{margin-bottom:14px}.login-label{color:#4a5568;color:var(--text2);display:block;font-size:12px;font-weight:500;margin-bottom:5px}.login-input{background:#f5f6f8;background:var(--bg);border:1px solid #d0d7e2;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius-lg);color:#1a2332;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:13.5px;outline:none;padding:9px 12px;transition:border-color .12s,box-shadow .12s;width:100%}.login-input:focus{background:#fff;border-color:#00d629;border-color:var(--accent);box-shadow:0 0 0 3px #1a56db1a}.login-btn{align-items:center;background:#00d629;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:6px;padding:10px;transition:background .12s;width:100%}.login-btn:hover:not(:disabled){background:#00b020;background:var(--accent2)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-error{background:#fee2e2;background:var(--red2);border:1px solid #dc262633;border-radius:5px;border-radius:var(--radius);color:#dc2626;color:var(--red);font-size:13px;margin-bottom:14px;padding:9px 12px}.login-footer{color:#8a9ab0;color:var(--text3);font-size:11.5px;margin-top:20px;text-align:center}.login-footer-brand{align-items:center;display:flex;gap:6px;justify-content:center;margin-top:8px;opacity:.6}.login-footer-brand img{height:14px;width:auto}.app-footer{align-items:center;background:#fff;background:var(--bg2);border-top:1px solid #e2e6ed;border-top:1px solid var(--border);color:#8a9ab0;color:var(--text3);display:flex;flex-shrink:0;font-size:11px;gap:8px;height:32px;justify-content:center;padding:0 20px}.app-footer img{height:14px;opacity:.7;width:auto}.shell{height:100vh}.shell,.sidebar{display:flex;overflow:hidden}.sidebar{background:#2f405f;background:var(--sidebar-bg);border-right:1px solid #e2e6ed;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;width:var(--sidebar-w)}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;gap:9px;padding:14px 16px 12px}.sidebar-logo-icon{display:block;flex-shrink:0;height:28px;width:auto}.sidebar-title{color:#fffffff2;font-size:13px;font-weight:700;letter-spacing:-.2px;line-height:1.2}.sidebar-subtitle{color:#ffffff80;font-size:10px}.sidebar-org{align-items:center;background:#0003;border-bottom:1px solid #ffffff1a;display:flex;gap:8px;padding:8px 14px}.sidebar-org-avatar{align-items:center;background:#00d629;background:var(--accent);border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:22px;justify-content:center;width:22px}.sidebar-org-name{color:#ffffffb3;font-size:11.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{overflow-x:hidden;overflow-y:visible;padding:6px 0}.sidebar-scroll{flex:1 1;overflow-x:hidden;overflow-y:auto}.sidebar-section-toggle{align-items:center;background:none;border:none;color:#fff6;cursor:pointer;display:flex;font-size:9.5px;font-weight:700;justify-content:space-between;letter-spacing:1px;padding:7px 16px 4px;text-align:left;text-transform:uppercase;transition:color .15s;width:100%}.sidebar-section-toggle:hover{color:#ffffffb3}.sidebar-section-arrow{display:inline-block;font-size:13px;font-weight:400;transform:rotate(0deg);transition:transform .2s}.sidebar-section-arrow.open{transform:rotate(90deg)}.sidebar-section-label{color:#fff6;font-size:9.5px;font-weight:600;letter-spacing:1px;padding:10px 16px 4px;text-transform:uppercase}.sidebar-item{align-items:center;border-left:2px solid #0000;border-radius:0;color:#ffffffb3;cursor:pointer;display:flex;font-size:12.5px;gap:8px;padding:6px 14px;position:relative;text-decoration:none;transition:background .1s,color .1s}.sidebar-item:hover{background:#ffffff14;color:#fff}.sidebar-item.active{background:#00d6292e;border-left-color:#00d629;color:#00d629;font-weight:500}.sidebar-item.locked{color:#ffffff4d;cursor:default}.sidebar-item.locked:hover{background:#0000;color:#ffffff4d}.sidebar-item svg{flex-shrink:0;height:14px;opacity:.7;width:14px}.sidebar-item.active svg{opacity:1}.sidebar-lock{font-size:10px;margin-left:auto;opacity:.4}.sidebar-footer{border-top:1px solid #ffffff1a;flex-shrink:0;padding:10px 14px}.sidebar-user{align-items:center;border-radius:5px;border-radius:var(--radius);cursor:pointer;display:flex;gap:8px;padding:7px 8px;transition:background .1s}.sidebar-user:hover{background:#ffffff14}.sidebar-avatar{align-items:center;background:#00d629;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:26px;justify-content:center;width:26px}.sidebar-user-name{color:#ffffffe6;font-size:12px;font-weight:500}.sidebar-user-email{color:#ffffff80;font-size:10.5px}.main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.topbar{align-items:center;background:#fff;background:var(--topbar-bg);border-bottom:none;display:flex;flex-shrink:0;gap:12px;height:46px;padding:0 20px;position:relative}.topbar:after{background:linear-gradient(90deg,#5b6af0,#8b5bf0);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.topbar-title{color:#1a2332;color:var(--text);flex:1 1;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{gap:8px;margin-left:auto}.ai-pill,.topbar-actions{align-items:center;display:flex}.ai-pill{background:#f0f2f5;background:var(--bg3);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:20px;color:#4a5568;color:var(--text2);cursor:pointer;font-size:11.5px;gap:6px;padding:4px 10px;position:relative;transition:border-color .12s}.ai-pill:hover{border-color:#00d629;border-color:var(--accent)}.ai-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.page{flex:1 1;overflow-y:auto;padding:20px 24px}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:18px}.page-title{font-size:18px;font-weight:700;letter-spacing:-.4px}.page-sub{color:#8a9ab0;color:var(--text3);font-size:12.5px;margin-top:2px}.card{background:#fff;background:var(--bg2);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000f;box-shadow:var(--shadow-sm);padding:16px}.card-title{align-items:center;color:#1a2332;color:var(--text);display:flex;font-size:13px;font-weight:600;gap:7px;margin-bottom:12px}.module-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.module-grid{grid-template-columns:repeat(2,1fr)}}.module-card{background:#fff;background:var(--bg2);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000f;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:16px;position:relative;transition:all .15s}.module-card:hover:not(.locked){border-color:#00d629;border-color:var(--accent);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);transform:translateY(-1px)}.module-card.locked{cursor:default;opacity:.6}.module-card.locked:hover{transform:none}.module-card.active-module{border-color:#00d629;border-color:var(--accent);box-shadow:0 0 0 2px #1a56db1a,0 2px 8px #00000014;box-shadow:0 0 0 2px #1a56db1a,var(--shadow)}.module-card-top{align-items:flex-start;display:flex;gap:10px}.module-icon{align-items:center;border-radius:8px;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:17px;height:36px;justify-content:center;width:36px}.module-card-title{color:#1a2332;color:var(--text);font-size:13.5px;font-weight:700;line-height:1.2}.module-card-sub{font-size:11px;margin-top:2px}.module-card-sub,.module-desc{color:#8a9ab0;color:var(--text3)}.module-desc{font-size:12px;line-height:1.5}.module-badges{display:flex;flex-wrap:wrap;gap:5px}.module-coming-soon{background:#e8ebef;background:var(--bg4);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:10px;color:#8a9ab0;color:var(--text3)}.module-coming-soon,.module-poc-badge{font-size:9px;font-weight:700;letter-spacing:.8px;padding:2px 7px;position:absolute;right:10px;text-transform:uppercase;top:10px}.module-poc-badge{background:#1a56db1a;border:1px solid #1a56db33;border-radius:10px;color:#00d629;color:var(--accent)}.stats-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.stat{background:#fff;background:var(--bg2);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000f;box-shadow:var(--shadow-sm);padding:13px 16px}.stat-val{font-size:26px;font-weight:700;letter-spacing:-1px;line-height:1}.stat-lbl{color:#8a9ab0;color:var(--text3);font-size:10.5px;font-weight:600;letter-spacing:.8px;margin-top:4px;text-transform:uppercase}.btn{align-items:center;border:none;border-radius:5px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:12.5px;font-weight:500;gap:6px;padding:6px 14px;text-decoration:none;transition:all .12s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:#00d629;background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#00b020;background:var(--accent2)}.btn-secondary{background:#fff;background:var(--bg2);border:1px solid #d0d7e2;border:1px solid var(--border2);box-shadow:0 1px 2px #0000000f;box-shadow:var(--shadow-sm);color:#1a2332;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#f0f2f5;background:var(--bg3)}.btn-ghost{background:#0000;color:#4a5568;color:var(--text2);padding:6px 8px}.btn-ghost:hover{background:#f0f2f5;background:var(--bg3)}.btn-sm{font-size:11.5px;padding:4px 10px}.btn-dark{background:#1a2332;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:9px 20px}.btn-dark:hover{background:#253347}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{color:#4a5568;color:var(--text2);font-size:11.5px;font-weight:500}.form-input,.form-select,.form-textarea{background:#fff;background:var(--bg2);border:1px solid #d0d7e2;border:1px solid var(--border2);border-radius:5px;border-radius:var(--radius);color:#1a2332;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:13px;outline:none;padding:7px 10px;transition:border-color .12s,box-shadow .12s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#00d629;border-color:var(--accent);box-shadow:0 0 0 2px #1a56db1a}.form-textarea{line-height:1.5;min-height:80px;resize:vertical}.tbl{border-collapse:collapse;width:100%}.tbl th{background:#f0f2f5;background:var(--bg3);color:#8a9ab0;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.8px;padding:8px 12px;text-align:left;text-transform:uppercase}.tbl td,.tbl th{border-bottom:1px solid #e2e6ed;border-bottom:1px solid var(--border)}.tbl td{color:#4a5568;color:var(--text2);font-size:12.5px;padding:9px 12px;vertical-align:middle}.tbl tr:hover td{background:#f0f2f5;background:var(--bg3)}.tbl tr:last-child td{border-bottom:none}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:10.5px;font-weight:600;gap:3px;padding:2px 7px}.badge-green{background:#d1fae5;background:var(--green2);color:#059669;color:var(--green)}.badge-amber{background:#fef3c7;background:var(--amber2);color:#d97706;color:var(--amber)}.badge-red{background:#fee2e2;background:var(--red2);color:#dc2626;color:var(--red)}.badge-blue{background:#00d6291f;background:var(--accent-light);color:#00d629;color:var(--accent)}.badge-gray{background:#f3f4f6;background:var(--gray2);color:#6b7280;color:var(--gray)}.badge-purple{background:#ede9fe;background:var(--purple2);color:#7c3aed;color:var(--purple)}.upload-zone{background:#f0f2f5;background:var(--bg3);border:1.5px dashed #d0d7e2;border:1.5px dashed var(--border2);border-radius:8px;border-radius:var(--radius-lg);cursor:pointer;padding:24px;text-align:center;transition:all .15s}.upload-zone.over,.upload-zone:hover{background:#00d6291f;background:var(--accent-light);border-color:#00d629;border-color:var(--accent)}.upload-zone input{display:none}.steps{margin-bottom:20px}.step-item,.steps{align-items:center;display:flex}.step-item{gap:7px}.step-dot{align-items:center;background:#fff;background:var(--bg2);border:1.5px solid #d0d7e2;border:1.5px solid var(--border2);border-radius:50%;color:#8a9ab0;color:var(--text3);display:flex;font-size:11px;font-weight:600;height:24px;justify-content:center;width:24px}.step-dot.active{background:#00d6291f;background:var(--accent-light);border-color:#00d629;border-color:var(--accent);color:#00d629;color:var(--accent)}.step-dot.done{background:#d1fae5;background:var(--green2);border-color:#059669;border-color:var(--green);color:#059669;color:var(--green)}.step-lbl{color:#8a9ab0;color:var(--text3);font-size:12px}.step-lbl.active{color:#1a2332;color:var(--text);font-weight:500}.step-line{background:#e2e6ed;background:var(--border);flex:1 1;height:1px;margin:0 8px}.debug-panel{background:#0f1621;border:1px solid #ffffff12;border-radius:8px;border-radius:var(--radius-lg);margin-top:14px;overflow:hidden}.debug-header{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff0d;cursor:pointer;display:flex;gap:9px;padding:9px 13px}.debug-title{color:#fff9;font-size:11.5px;font-weight:600}.debug-body,.debug-title{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono)}.debug-body{color:#ffffff80;font-size:11px;line-height:1.7;max-height:280px;overflow-y:auto;padding:10px 13px}.d-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.d-dot.run{animation:pulse 1s infinite;background:#fbbf24}.d-dot.ok{background:#34d399}.d-dot.err{background:#f87171}.d-dot.idle{background:#ffffff26}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.agent-row{border:1px solid #ffffff0d;border-radius:5px;margin-bottom:6px;overflow:hidden}.agent-row-head{align-items:center;background:#ffffff05;cursor:pointer;display:flex;gap:8px;padding:6px 10px}.agent-pill{border-radius:10px;font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 6px;text-transform:uppercase}.ap-claude{background:#c8702a33;color:#fbbf24}.ap-openai{background:#10a37f33;color:#6ee7b7}.ap-tool{background:#6366f133;color:#a5b4fc}.agent-row-name{color:#ffffffa6;flex:1 1;font-size:11.5px;font-weight:500}.agent-row-ms{color:#ffffff40;font-size:10px}.agent-io,.agent-row-ms{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono)}.agent-io{background:#00000040;color:#fff6;font-size:10.5px;max-height:160px;overflow-y:auto;padding:7px 10px;white-space:pre-wrap}.alert{align-items:flex-start;border-radius:5px;border-radius:var(--radius);display:flex;font-size:12.5px;gap:8px;margin-bottom:12px;padding:10px 13px}.alert-err{background:#fee2e2;background:var(--red2);border:1px solid #dc262633;color:#dc2626;color:var(--red)}.alert-ok{background:#d1fae5;background:var(--green2);border:1px solid #05966933;color:#059669;color:var(--green)}.alert-info{background:#00d6291f;background:var(--accent-light);border:1px solid #1a56db26;color:#00d629;color:var(--accent)}.spinner{animation:spin .6s linear infinite;border:2px solid #d0d7e2;border-top-color:#00d629;border:2px solid var(--border2);border-radius:50%;border-top-color:var(--accent);display:inline-block;flex-shrink:0;height:16px;width:16px}.spinner-lg{height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.g2{grid-gap:14px;gap:14px;grid-template-columns:1fr 1fr}.g2,.g3{display:grid}.g3{grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr 1fr}.g4{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.fc,.flex{display:flex}.fc{flex-direction:column}.ic{align-items:center}.jb{justify-content:space-between}.gap6{gap:6px}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}.gap14{gap:14px}.gap16{gap:16px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.empty-state{color:#8a9ab0;color:var(--text3);padding:48px 20px;text-align:center}.empty-icon{font-size:36px;margin-bottom:12px;opacity:.35}.empty-text{color:#4a5568;color:var(--text2);font-size:14.5px;font-weight:500}.empty-hint{font-size:12.5px;margin-top:4px}.mono{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono)}.tag{background:#f0f2f5;background:var(--bg3);border-radius:4px;color:#8a9ab0;color:var(--text3);display:inline-block;font-size:10.5px;padding:1px 6px}.finding,.tag{border:1px solid #e2e6ed;border:1px solid var(--border)}.finding{background:#fff;background:var(--bg2);border-radius:8px;border-radius:var(--radius-lg);cursor:pointer;padding:12px 14px;transition:border-color .12s,box-shadow .12s}.finding:hover{border-color:#00d629;border-color:var(--accent);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow)}.finding-head{align-items:center;display:flex;gap:9px}.finding-ref{background:#f0f2f5;background:var(--bg3);border-radius:4px;color:#8a9ab0;color:var(--text3);font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono);font-size:10.5px;padding:1px 6px}.finding-name{flex:1 1;font-size:13px;font-weight:500}.finding-body{color:#4a5568;color:var(--text2);font-size:12.5px;line-height:1.55;margin-top:8px}.finding-rec{background:#00d6291f;background:var(--accent-light);border-left:2px solid #00d629;border-left:2px solid var(--accent);border-radius:0 4px 4px 0;color:#00d629;color:var(--accent);font-size:12px;margin-top:8px;padding:7px 10px}.donut-wrap{align-items:center;display:flex;flex-direction:column;justify-content:center}.tabs{border-bottom:1px solid #e2e6ed;border-bottom:1px solid var(--border);display:flex;gap:1px;margin-bottom:16px}.tab{border-bottom:2px solid #0000;color:#8a9ab0;color:var(--text3);cursor:pointer;font-size:12.5px;font-weight:500;margin-bottom:-1px;padding:7px 14px;transition:all .12s}.tab:hover{color:#4a5568;color:var(--text2)}.tab.on{border-bottom-color:#00d629;border-bottom-color:var(--accent);color:#00d629;color:var(--accent)}.audit-switcher{align-items:center;background:#f0f2f5;background:var(--bg3);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);gap:8px;padding:7px 10px;text-align:left;transition:border-color .12s,background .12s;width:100%}.audit-switcher:hover{background:#00d6291f;background:var(--accent-light);border-color:#00d629;border-color:var(--accent)}.audit-switcher-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.audit-switcher-body{flex:1 1;min-width:0}.audit-switcher-name{color:#1a2332;color:var(--text);font-size:12px;font-weight:600;line-height:1.3}.audit-switcher-meta,.audit-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-switcher-meta{color:#8a9ab0;color:var(--text3);font-size:10px;margin-top:1px}.audit-picker{background:#fff;background:var(--bg2);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001a;box-shadow:var(--shadow-lg);left:0;min-width:200px;overflow:hidden;position:absolute;right:0;top:"calc(100% + 4px)";top:calc(100% + 4px);z-index:100}.audit-picker-item{align-items:center;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background .1s}.audit-picker-item:hover{background:#f0f2f5;background:var(--bg3)}.audit-picker-item.active{background:#00d6291f;background:var(--accent-light)}.sidebar-item-icon{flex-shrink:0;font-size:13px;opacity:.75;text-align:center;width:18px}.sidebar-item.active .sidebar-item-icon{opacity:1}.metric-card{background:#fff;background:var(--bg2);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000f;box-shadow:var(--shadow-sm);padding:14px 16px;transition:box-shadow .15s}.metric-card:hover{box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow)}.field-label{color:#8a9ab0;color:var(--text3);display:block;font-size:11px;font-weight:500;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.field-input{background:#fff;background:var(--bg2);border:1px solid #d0d7e2;border:1px solid var(--border2);border-radius:5px;border-radius:var(--radius);color:#1a2332;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:13px;outline:none;padding:7px 10px;transition:border-color .12s,box-shadow .12s;width:100%}.field-input:focus{background:#fff;border-color:#00d629;border-color:var(--accent);box-shadow:0 0 0 2px #1a56db1a}select.field-input{cursor:pointer}.topbar{height:52px}.locked-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.locked-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001a;box-shadow:var(--shadow-lg);max-width:400px;padding:32px 36px;text-align:center}.mobile-menu-btn{display:none}.mobile-topbar-btn{align-items:center;background:none;border:none;border-radius:5px;border-radius:var(--radius);color:#4a5568;color:var(--text2);cursor:pointer;display:none;flex-shrink:0;font-size:20px;justify-content:center;line-height:1;min-height:36px;min-width:36px;padding:4px 8px;transition:background .12s}.mobile-topbar-btn:hover{background:#f0f2f5;background:var(--bg3)}.mobile-overlay{background:#00000080;display:none;inset:0;position:fixed;z-index:149}.chat-bubble-user{align-self:flex-end;background:#00d629;background:var(--accent);border-radius:16px 16px 4px 16px;color:#fff;line-height:1.55;max-width:85%}.chat-bubble-ai,.chat-bubble-user{font-size:13.5px;padding:10px 14px;word-break:break-word}.chat-bubble-ai{align-self:flex-start;background:#f0f2f5;background:var(--bg3);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:16px 16px 16px 4px;color:#4a5568;color:var(--text2);line-height:1.6;max-width:90%;white-space:pre-wrap}.chat-meta{color:#8a9ab0;color:var(--text3);font-size:10.5px;margin-top:3px;padding:0 4px}.project-card{background:#fff;background:var(--bg2);border:1px solid #e2e6ed;border:1px solid var(--border);border-radius:12px;cursor:pointer;padding:16px;transition:box-shadow .15s,border-color .15s}.project-card:hover{border-color:#00d629;border-color:var(--accent);box-shadow:0 4px 20px #0000001a}.kanban-col-scroll{-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 340px);overflow-y:auto}@media (hover:none) and (pointer:coarse){.btn{min-height:44px;padding:10px 16px}.btn-sm{min-height:38px;padding:6px 12px}.tab{min-height:44px;padding:10px 14px}.field-input{font-size:16px!important}.field-input,select.field-input{min-height:44px}.form-input,.form-select,.form-textarea,.login-input{font-size:16px!important;min-height:44px}.mobile-topbar-btn{min-height:44px;min-width:44px}}@media (max-width:900px){.sidebar{bottom:0;box-shadow:none;left:-260px;position:fixed;top:0;transition:left .25s cubic-bezier(.4,0,.2,1);z-index:200}.sidebar.open{box-shadow:4px 0 40px #0006;left:0}.mobile-topbar-btn{display:flex}.mobile-overlay.visible{display:block}.main{width:100%!important}.topbar{height:auto;min-height:48px;padding:10px 14px}.topbar-title{font-size:14px}.card,.metric-card{padding:12px}.stats-row{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:1fr 1fr}.ph-wrap{flex-direction:column;gap:10px}.ph-actions{margin-left:0}}@media (max-width:768px){.g3{grid-template-columns:1fr 1fr}.login-card{max-width:100%;padding:28px 24px}.steps{flex-wrap:wrap;gap:8px}.step-line{display:none}.sidebar-item{min-height:44px}.sidebar-section-label{padding:12px 16px 5px}}@media (max-width:480px){.stats-row{grid-template-columns:1fr 1fr}.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}.module-grid{grid-template-columns:1fr!important}.page{padding:10px 12px}.topbar{padding:8px 12px}.card,.metric-card{padding:10px 12px}.page-title{font-size:16px}.ph-title{font-size:18px}.login-wrap{padding:16px}.login-card{border-radius:8px;padding:24px 18px}.login-title{font-size:18px}.card{overflow-x:auto}.tbl{min-width:500px}.stat-val{font-size:22px}}@media (max-width:600px){[style*="grid-template-columns: 1fr 1fr 1fr"],[style*="grid-template-columns: repeat(3"],[style*="grid-template-columns: repeat(4"]{grid-template-columns:1fr 1fr!important}.terminal-log{font-size:10px!important}table .hide-mobile{display:none}}@media (display-mode:standalone){.topbar{padding-top:max(10px,env(safe-area-inset-top))}.shell{padding-bottom:env(safe-area-inset-bottom)}}*{scroll-behavior:smooth}:focus-visible{border-radius:4px;outline:2px solid #00d629;outline:2px solid var(--accent);outline-offset:2px}.ph-wrap{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.ph-left{flex:1 1;min-width:0}.ph-section{color:#8a9ab0;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:4px;text-transform:uppercase}.ph-title{color:#1a2332;color:var(--text);font-size:22px;font-weight:700;line-height:1.2;margin:0 0 4px}.ph-desc{color:#4a5568;color:var(--text2);font-size:12.5px}.ph-actions{margin-left:16px}.offline-banner,.ph-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.offline-banner{animation:slideDown .2s ease;background:#fef3c7;background:var(--amber2);border-bottom:1px solid #d9770640;color:#d97706;color:var(--amber);font-size:12.5px;font-weight:500;padding:8px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (display-mode:standalone){.app-footer{padding-bottom:max(4px,env(safe-area-inset-bottom))}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color-default);background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-default);fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(--xy-minimap-mask-stroke-color-default);stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(--xy-minimap-mask-stroke-width-default);stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-default);fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(--xy-minimap-node-stroke-color-default);stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(--xy-minimap-node-stroke-width-default);stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-dots-color-default);fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-lines-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected-default);box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color-default);background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color-default);background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-default);background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(--xy-controls-button-color-hover-default);color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
/*# sourceMappingURL=main.3cefe63a.css.map*/