:root{--ink: #10151b;--panel: #171e26;--panel2: #1c2530;--line: #26303b;--text: #e6ecf1;--muted: #8b99a6;--signal: #e8a33d;--ok: #46b282;--err: #d95c4a;--radius: 8px}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif}.muted{color:var(--muted)}.error{color:var(--err)}.note{color:var(--muted);font-size:.85rem;margin-left:8px}.status{padding:2rem}.login{max-width:320px;margin:15vh auto;display:flex;flex-direction:column;gap:.75rem}.login h1{letter-spacing:.05em}.login input,.login button,.topbar button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem}.login button:hover,.topbar button:hover{border-color:var(--signal)}.app{max-width:900px;margin:0 auto;padding:1rem}.app.wide{max-width:none;padding:0}.app.wide .topbar{padding-left:1rem;padding-right:1rem}.topbar{display:flex;gap:1rem;align-items:center;padding:.6rem 1rem;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0}.brand{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin:1rem 0}.panel ul{list-style:none;padding:0;margin:.5rem 0 0}.panel li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line);flex-wrap:wrap}.panel li button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .8rem}.panel li button:first-of-type{margin-left:auto}.panel li button:hover:not(:disabled){border-color:var(--signal)}.panel li button:disabled{opacity:.4}.badge{font-size:.7rem;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.badge.env-production{color:var(--signal);border-color:var(--signal)}.badge.env-gated{color:var(--err);border-color:var(--err)}.badge.src-config,.badge.src-label{color:var(--ok)}.badge.src-image-port{color:var(--muted)}.companion{display:flex;flex-direction:column;height:100vh}.companion iframe{flex:1;border:0;background:#fff}.crumbs{flex:1}.cluster-chip{margin-left:auto;display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.85rem}.cluster-chip .upload input{display:none}.cluster-chip .upload{color:var(--signal);cursor:pointer;border:1px dashed var(--line);border-radius:var(--radius);padding:.2rem .6rem}.cluster-chip .upload:hover{border-color:var(--signal)}.cluster-chip button{background:none;border:1px solid var(--line);color:var(--err);border-radius:var(--radius);padding:.15rem .5rem;margin-left:.4rem}.connect-prompt{border-style:dashed;border-color:var(--signal)}.tool-row{display:block!important;border-top:none!important;padding-top:.75rem!important}.companions{list-style:none;padding:.25rem 0 0 1.5rem;margin:0}.companion-row{display:flex;align-items:center;gap:.5rem;border-top:1px dashed var(--line)!important;padding:.4rem 0}.comp-name{min-width:7rem}.badge.kind-admin-ui{color:var(--signal);border-color:var(--signal)}.badge.kind-metrics{color:#5c9be8;border-color:#5c9be8}.companion-row select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.3rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.map-panel .map-frame{width:100%;height:560px;border:0;border-radius:6px;background:#fff}.pagetabs{display:flex;gap:.25rem}.pagetabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:6px;padding:.25rem .9rem}.pagetabs button.active{background:var(--panel2);color:var(--fg);border-color:var(--signal)}.pagebody{flex:1;min-height:0;display:flex;flex-direction:column}.overview{display:flex;flex-direction:column;flex:1;min-height:0}.overview .map-frame{flex:1;width:100%;height:auto;border:0;border-radius:0;background:#fff}.app{display:flex;flex-direction:column;min-height:100vh}.pageholder{flex:1;min-height:0;display:flex;flex-direction:column}
