@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0a0c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--accent-primary: #00ff9d;--accent-secondary: #00d1ff;--bg-card: #16161a;--border-color: #2d2d35;--text-dim: #8e8e9a}body{margin:0;display:flex;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%}*{box-sizing:border-box}:root{--bg-app: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--accent-blue: #3b82f6;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-red: #ef4444;--accent-purple: #8b5cf6;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}.dashboard{max-width:1440px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;width:100%}.header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;flex-wrap:wrap;gap:1rem}.header-brand{display:flex;align-items:center;gap:1rem}.logo-container{background:linear-gradient(135deg,var(--accent-blue),#1d4ed8);padding:.6rem;border-radius:8px}.header-title h1{font-size:1.5rem;font-weight:300;color:var(--text-secondary)}.header-title h1 strong{color:var(--text-primary);font-weight:700}.live-indicator{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);background-color:#0003;padding:.4rem .8rem;border-radius:20px;border:1px solid var(--border-color)}.pulse-dot{width:6px;height:6px;background-color:var(--accent-green);border-radius:50%;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pulse-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.pulse-card{background-color:var(--bg-card);border:1px solid var(--border-color);padding:1.25rem;border-radius:10px;display:flex;flex-direction:column;justify-content:space-between;gap:.25rem;min-width:0;overflow:hidden}.pulse-header{display:flex;flex-direction:column;gap:.25rem;z-index:1}.sparkline-container{height:60px;width:100%;margin-top:10px;opacity:.9}.sparkline{display:block}.pulse-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pulse-value{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-layout{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-12{grid-column:span 12}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;min-width:0}.card-title-bar{padding:.8rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background-color:#0000001a}.card-title-bar h2{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);display:flex;align-items:center;gap:.6rem}.card-body{padding:1.25rem}.compute-matrix{display:flex;flex-direction:column;gap:1.5rem}.node-group{border-left:2px solid var(--border-color);padding-left:1rem;display:flex;flex-direction:column;gap:.75rem}.node-group.active{border-left-color:var(--accent-blue)}.node-info-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.node-id{font-family:var(--font-mono);font-weight:600;font-size:.85rem}.badge{font-size:.65rem;font-weight:800;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase;white-space:nowrap}.badge-stable{background:#10b9811a;color:var(--accent-green)}.badge-warning{background:#f59e0b1a;color:var(--accent-amber)}.badge-error{background:#ef44441a;color:var(--accent-red)}.instrument-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.instrument{display:flex;flex-direction:column;gap:.4rem}.inst-label{display:flex;justify-content:space-between;font-size:.65rem;font-weight:600;color:var(--text-muted)}.progress-container{height:6px;background-color:#0003;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width 1s ease}.node-footer{display:flex;justify-content:space-between;font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted);gap:.5rem}.playbook-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.playbook-card{background-color:#0000001a;border:1px solid var(--border-color);border-radius:6px;padding:.8rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}.playbook-card:hover{background-color:#ffffff08!important;border-color:#10b98159!important;box-shadow:0 4px 12px #0000004d,0 0 8px #10b9810d}.playbook-card:hover .pb-name{color:var(--accent-green)!important}.playbook-card:after{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background-color:var(--accent-green);opacity:0;transition:opacity .2s ease-in-out}.playbook-card:hover:after{opacity:1}.pb-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pb-name{font-size:.75rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.pb-link{color:var(--accent-blue);text-decoration:none;font-size:.65rem;font-weight:600;flex-shrink:0;transition:color .2s ease}.pb-link:hover{color:#60a5fa}.pb-summary{font-size:.7rem;color:var(--text-secondary);line-height:1.3}.iac-meta{margin-top:1rem;display:flex;gap:1.5rem;font-size:.7rem;color:var(--text-muted)}.latency-matrix{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.latency-table{width:100%;border-collapse:collapse}.latency-table th{text-align:left;font-size:.6rem;color:var(--text-muted);text-transform:uppercase;padding-bottom:.5rem}.latency-row td{padding:.4rem 0;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.03)}.latency-val{font-family:var(--font-mono);text-align:right;font-weight:600}.latency-good{color:var(--accent-green)}.latency-warn{color:var(--accent-amber)}.latency-fail{color:var(--accent-red)}.vlan-strategy{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.vlan-node{background-color:#00000026;border:1px solid var(--border-color);padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;border-top:3px solid var(--text-muted)}.vlan-id{font-weight:800;font-size:.75rem}.vlan-reason{font-size:.65rem;color:var(--text-secondary);line-height:1.3}.footer{margin-top:1rem;padding:1.5rem 0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.8rem;color:var(--text-muted);letter-spacing:.1em;border-top:1px solid var(--border-color);gap:.5rem}.footer a{color:var(--accent-blue);text-decoration:none;font-weight:600;font-size:.75rem}.github-ci-status{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.55rem;font-weight:800;background:#10b98114;border:1px solid rgba(16,185,129,.25);padding:.2rem .5rem;border-radius:4px;color:var(--accent-green);text-decoration:none;transition:all .2s ease;letter-spacing:.5px}.github-ci-status:hover{background:#10b98126;border-color:var(--accent-green);box-shadow:0 0 10px #10b98133}.github-repo-link-header{transition:all .2s ease;opacity:.85}.github-repo-link-header:hover{opacity:1;text-shadow:0 0 8px rgba(255,255,255,.25)}.status-pulse-dot{width:5px;height:5px;background-color:var(--accent-green);border-radius:50%;box-shadow:0 0 6px var(--accent-green);animation:status-pulse 1.8s infinite ease-in-out}@keyframes status-pulse{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.15);opacity:1;box-shadow:0 0 10px var(--accent-green)}to{transform:scale(.9);opacity:.6}}.status-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-app);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:1.5px}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:1100px){.main-layout{grid-template-columns:1fr}.col-span-4,.col-span-8{grid-column:span 12}}@media(max-width:768px){.pulse-grid{grid-template-columns:1fr 1fr}.playbook-grid{grid-template-columns:1fr}.latency-matrix{grid-template-columns:1fr;gap:1.5rem}.vlan-strategy{grid-template-columns:1fr 1fr}.orchestration-grid{grid-template-columns:1fr!important;gap:1rem!important}.ansible-status-card{padding:.6rem!important}}@media(max-width:480px){.pulse-grid,.vlan-strategy{grid-template-columns:1fr}.dashboard{padding:1rem;gap:1rem}.header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.instrument-panel{grid-template-columns:1fr}}.danflix-link{display:flex;align-items:center;gap:.6rem;background-color:#000;border:1px solid rgba(229,9,20,.35);padding:.4rem 1rem;border-radius:6px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #e5091414;white-space:nowrap}.danflix-link:hover{background-color:#e5091414;border-color:#e50914;box-shadow:0 0 20px #e5091459,inset 0 0 5px #e5091433;transform:translateY(-1px)}.danflix-logo{font-family:"Bebas Neue",var(--font-sans);color:#e50914;font-size:1.4rem;font-weight:700;letter-spacing:1.5px;line-height:1;display:inline-block;transform:scaleY(1.15);text-shadow:0 0 2px rgba(0,0,0,.8);transition:all .3s ease}.danflix-link:hover .danflix-logo{color:#ff0f1a;text-shadow:0 0 8px rgba(229,9,20,.6)}.danflix-subtext{font-family:var(--font-sans);font-size:.65rem;color:var(--text-secondary);font-weight:800;letter-spacing:1px;align-self:center;transition:color .3s ease}.danflix-link:hover .danflix-subtext{color:var(--text-primary)}
