@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg-dark:#090b0f;--bg-card:#121621a6;--bg-card-hover:#1a1f2ecc;--border-color:#ffffff14;--border-color-glow:#06c7554d;--color-line:#06c755;--color-line-glow:#06c75526;--color-cyan:#00e5ff;--color-purple:#9d4edd;--color-red:#f36;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--glow-shadow:0 0 20px #06c75526;--glass-blur:blur(12px);--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;margin:0;padding:0}body{background:radial-gradient(circle at 50% 0%, #152219 0%, var(--bg-dark) 60%);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #06c7551a}50%{box-shadow:0 0 25px #06c75540}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.app-container{max-width:1400px;margin:0 auto;padding:2.5rem 1.5rem;animation:.6s ease-out fadeIn}header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.logo-section{align-items:center;gap:.75rem;display:flex}.logo-badge{background:linear-gradient(135deg, var(--color-line), #059b42);color:#fff;letter-spacing:.5px;border-radius:12px;padding:.5rem .85rem;font-size:1.1rem;font-weight:700;box-shadow:0 4px 15px #06c7554d}.logo-text h1{background:linear-gradient(90deg,#fff,#a3a3a3);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.logo-text p{color:var(--text-secondary);font-size:.875rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);transition:var(--transition-smooth);border-radius:16px;padding:1.75rem}.glass-card:hover{border-color:#ffffff1f;box-shadow:0 10px 30px #0006}.glass-card.active-border{border-color:var(--color-line);box-shadow:var(--glow-shadow);animation:3s infinite pulseGlow}.dashboard-grid{grid-template-columns:1.2fr 1.8fr;gap:2rem;display:grid}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-sidebar,.dashboard-content{flex-direction:column;gap:2rem;display:flex}.status-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem;display:grid}.status-item{border:1px solid var(--border-color);background:#ffffff05;border-radius:10px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.status-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.status-value{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.indicator.green{background-color:var(--color-line);box-shadow:0 0 10px var(--color-line)}.indicator.orange{background-color:#fa0;box-shadow:0 0 10px #fa0}.indicator.red{background-color:var(--color-red);box-shadow:0 0 10px var(--color-red)}.section-title{letter-spacing:-.2px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:1.15rem;font-weight:600;display:flex}.section-title span{align-items:center;gap:.5rem;display:flex}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.form-input,.form-textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:var(--transition-smooth);background:#0000004d;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:.9rem}.form-input:focus,.form-textarea:focus{border-color:var(--color-line);background:#0006;outline:none;box-shadow:0 0 10px #06c75526}.form-textarea{resize:vertical;min-height:80px}.btn{cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-line);color:#000}.btn-primary:hover{background:#05e35e;transform:translateY(-1px);box-shadow:0 4px 15px #06c75566}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff0d}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.btn-outline{color:var(--color-line);border:1px solid var(--color-line);background:0 0}.btn-outline:hover{background:#06c7550d;box-shadow:0 0 10px #06c75533}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.sim-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem;display:grid}.sim-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:#ffffff05;border-radius:6px;padding:.5rem;font-size:.8rem;font-weight:500}.sim-btn:hover{color:var(--color-line);background:#06c75514;border-color:#06c75566}.console-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.console-actions{gap:.5rem;display:flex}.console-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;display:flex}.console-btn:hover{color:var(--text-primary);background:#ffffff0d}.logs-container{flex-direction:column;gap:.75rem;max-height:520px;padding-right:.25rem;display:flex;overflow-y:auto}.log-item{border:1px solid var(--border-color);background:#0003;border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem 1rem;animation:.3s ease-out slideIn;display:flex}.log-item.log-error{border-left:3px solid var(--color-red)}.log-item.log-incoming{border-left:3px solid var(--color-cyan)}.log-item.log-outgoing{border-left:3px solid var(--color-line)}.log-item.log-simulation{border-left:3px solid var(--color-purple);background:#9d4edd08}.log-item.log-system{border-left:3px solid var(--text-secondary)}.log-meta{justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.log-badges{align-items:center;gap:.5rem;display:flex}.badge{text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:600}.badge.in{color:var(--color-cyan);background:#00e5ff26}.badge.out{color:var(--color-line);background:#06c75526}.badge.type-message{color:var(--text-primary);background:#ffffff0d}.badge.type-simulation{color:#c77dff;background:#9d4edd33}.badge.type-error{color:var(--color-red);background:#ff336626}.log-time{color:var(--text-muted);font-family:var(--font-mono)}.log-body{font-size:.9rem;font-weight:500}.log-details{font-family:var(--font-mono);color:#a3b8cc;white-space:pre-wrap;word-break:break-all;background:#0006;border:1px solid #ffffff05;border-radius:6px;padding:.65rem;font-size:.75rem;overflow-x:auto}.empty-logs{text-align:center;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:12px;padding:3rem;font-size:.9rem}.instructions-list{flex-direction:column;gap:.75rem;display:flex}.instruction-step{border:1px solid var(--border-color);background:#ffffff03;border-radius:8px;padding:.85rem 1rem}.step-num{color:var(--color-line);margin-right:.5rem;font-weight:700}.instruction-step code{font-family:var(--font-mono);color:var(--color-cyan);background:#0006;border-radius:4px;padding:.15rem .35rem;font-size:.8rem}.toast{border:1px solid var(--border-color-glow);z-index:1000;background:#121621;border-radius:12px;align-items:center;gap:.75rem;padding:1rem 1.5rem;animation:.3s cubic-bezier(.16,1,.3,1) fadeIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #00000080}
