/* Small Bootstrap-like primitives used by the app. No framework runtime. */
.app-loading{margin:1rem auto;padding:1rem;max-width:70rem;color:#9cc6d5}
.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.flex-wrap{flex-wrap:wrap}
.align-items-center{align-items:center}.align-items-end{align-items:flex-end}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}
.gap-2{gap:.5rem}.gap-3{gap:1rem}.g-3{gap:1rem}.w-100{width:100%}.img-fluid{max-width:100%;height:auto}.rounded{border-radius:.5rem}
.row{display:flex;flex-wrap:wrap;margin:-.5rem}.row>*{min-width:0;padding:.5rem;flex:1 0 0%}
.col-md-4,.col-md-6,.col-md-8,.col-md-12,.col-lg-4,.col-lg-6,.col-lg-8{flex:0 0 100%;max-width:100%}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.me-1{margin-inline-end:.25rem}.small{font-size:.875em}
.form-label{display:block;margin-bottom:.35rem;color:#d9f5ff}
.form-control,.form-select,.form-range{display:block;width:100%;min-height:2.5rem;padding:.5rem .75rem;border:1px solid #36536a;border-radius:.5rem;background:#0b1220;color:#d9f5ff;font:inherit}
.form-control-sm{min-height:1.9rem;padding:.35rem .6rem;font-size:.875rem}
.form-control:focus,.form-select:focus{outline:2px solid #3df0ff;outline-offset:1px}.form-control[readonly]{opacity:.8}
.form-check{display:flex;align-items:center;gap:.55rem;min-height:1.5rem}.form-check-input{width:1.05rem;height:1.05rem;accent-color:#63ffd0}.form-switch .form-check-input{width:2rem;height:1.1rem}
.form-check-label{color:#d9f5ff}.form-range{min-height:0;padding:.5rem 0;accent-color:#63ffd0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.35rem;padding:.5rem .85rem;border:1px solid #36536a;border-radius:.55rem;color:#d9f5ff;background:#10192b;font:inherit;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.12)}.btn-sm{min-height:1.9rem;padding:.35rem .6rem;font-size:.875rem}
.btn-info{border-color:#3df0ff;background:#21b8d0;color:#061018}.btn-outline-info,.text-info,.text-info-emphasis{color:#8de9ff}.bg-info{background:#3df0ff;color:#061018}.btn-outline-warning{border-color:#94733a;color:#ffd27c}.btn-outline-light{border-color:#52677b}
.alert{padding:.85rem 1rem;border:1px solid #34516a;border-radius:.65rem;background:#10192b;color:#d9f5ff}.alert-info{border-color:#267587}.alert-warning{border-color:#94733a}.alert-secondary{color:#b2c7d3}
.progress{height:.8rem;overflow:hidden;border-radius:999px;background:#0b1220}.progress-bar{height:100%;background:#45e8c1;transition:width .2s}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#000a}.modal-card{width:min(100%,36rem);padding:1.25rem;border:1px solid #36536a;border-radius:1rem;background:#10192b;box-shadow:0 20px 60px #0008}.modal-title{margin-top:0}.modal-card img{max-width:100%;height:auto}
.top-nav{position:relative;z-index:5}.top-nav-inner,.nav-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;right:0;top:calc(100% + .4rem);z-index:10;display:none;min-width:14rem;padding:.4rem;border:1px solid #36536a;border-radius:.7rem;background:#0b1220}.nav-dropdown[open] .nav-dropdown-menu{display:grid}.nav-dropdown-link{display:block;padding:.5rem;color:#d9f5ff;text-decoration:none;border-radius:.4rem}.nav-dropdown-link:hover{background:#172b40}
.status-chip{display:inline-flex;align-items:center;padding:.25rem .55rem;border:1px solid #36536a;border-radius:999px;font-size:.8rem;color:#9cc6d5}.status-chip.ok{color:#63ffd0;border-color:#28765f}
.native-node-status{display:flex;align-items:center;gap:.45rem .9rem;flex-wrap:wrap;max-width:1080px;margin:1rem auto;padding:.55rem .8rem;border:1px solid #36536a;border-radius:.65rem;background:#0b1220;color:#9cc6d5;font-size:.82rem}.native-node-status strong{color:#63ffd0;font-weight:600}
@media(min-width:768px){.col-md-4{flex:0 0 33.333%;max-width:33.333%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-8{flex:0 0 66.667%;max-width:66.667%}.col-md-12{flex:0 0 100%;max-width:100%}}
@media(min-width:992px){.col-lg-4{flex:0 0 33.333%;max-width:33.333%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-8{flex:0 0 66.667%;max-width:66.667%}}
