:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45;color:#e8eaef;background:#12151c}*{box-sizing:border-box}body{margin:0}a{color:#8ab4ff}#app{min-height:100vh;display:flex;flex-direction:column}.top-nav{flex-shrink:0;background:linear-gradient(180deg,#171b24,#12151c);border-bottom:1px solid #2a3142;box-shadow:0 1px 3px #00000059}.top-nav__inner{max-width:960px;margin:0 auto;padding:.65rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.top-nav__brand{display:flex;align-items:center;gap:.75rem;min-width:0;text-decoration:none;color:inherit}.top-nav__brand:hover .top-nav__product{color:#fff}.top-nav__logo{display:block;flex-shrink:0;width:44px;height:44px;object-fit:contain}.top-nav__brand-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem;min-width:0;font-size:1rem;line-height:1.25}.top-nav__product{font-weight:700;letter-spacing:-.02em;color:#f0f2f6}.top-nav__slash{color:#5c6575;font-weight:500}.top-nav__panel{font-weight:500;color:#9aa3b5;font-size:.92rem}.top-nav__actions{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.page-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.25rem;box-sizing:border-box}.page-intro{margin:0 0 1rem;color:#9aa3b5;font-size:.92rem}.btn{cursor:pointer;border:none;border-radius:8px;padding:.55rem 1rem;font-size:.95rem;font-weight:600}.btn-primary{background:#3d6df4;color:#fff}.btn-primary:hover{background:#2f56c4}.btn-ghost{background:transparent;color:#c8cfdd;border:1px solid #3d465a}.btn-ghost:hover{background:#1e2433}.btn-danger{background:#c53d3d;color:#fff;padding:.85rem 1.35rem;font-size:1.05rem}.btn-danger:hover{background:#a33232}.btn:disabled{opacity:.45;cursor:not-allowed}.banner{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;background:#1e2433;border:1px solid #3d465a}.banner.warn{border-color:#8a6d2f;background:#2a2418}.banner.err{border-color:#8a3d3d;background:#291818}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.55rem .35rem;border-bottom:1px solid #2a3142}th{color:#9aa3b5;font-weight:600}tbody tr:hover{background:#181c26}.tag{display:inline-block;padding:.15rem .45rem;border-radius:6px;font-size:.78rem;font-weight:600;background:#2a3142}.tag.admin{background:#2f3d5c}.tag.api{background:#2f5c4a}.poll-status{margin-top:.75rem;font-size:.88rem;color:#9aa3b5}.spinner{display:inline-block;width:.85rem;height:.85rem;border:2px solid #3d465a;border-top-color:#8ab4ff;border-radius:50%;animation:spin .75s linear infinite;vertical-align:middle;margin-right:.35rem}@keyframes spin{to{transform:rotate(360deg)}}.target-list{list-style:none;margin:0;padding:0}.target-list__item{border-bottom:1px solid #2a3142}.target-list__item:first-child{border-top:1px solid #2a3142}.target-card{display:block;padding:1rem .35rem 1rem 0;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.target-card:active{background:#181c26}.target-card__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.target-card__text{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.target-card__domain{font-weight:650;font-size:1.05rem;letter-spacing:-.02em;word-break:break-word}.target-card__chev{flex-shrink:0;font-size:1.35rem;font-weight:300;color:#6b7589;line-height:1}.target-card__meta{margin-top:.35rem;font-size:.82rem;color:#7d8799;word-break:break-all}.target-card__active{margin-top:.5rem;font-size:.82rem;font-weight:600;color:#fcd34d;display:flex;align-items:center;gap:.35rem}@keyframes target-card-pulse{0%{opacity:.35}50%{opacity:1}to{opacity:.35}}.target-card__pulse{width:.48rem;height:.48rem;border-radius:50%;background:#f59e0b;animation:target-card-pulse 1s ease-in-out infinite;flex-shrink:0}.detail-back{display:inline-block;margin-bottom:.75rem;font-size:.92rem;font-weight:600;color:#8ab4ff;text-decoration:none}.detail-back:hover{text-decoration:underline}.detail-header{margin-bottom:1.25rem}.detail-title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;word-break:break-word}.detail-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.9rem;color:#9aa3b5}.detail-meta__sep{color:#5c6575}.detail-id{margin:.35rem 0 0;font-size:.78rem;color:#6b7589}.detail-id code{word-break:break-all}.detail-active-banner:empty{display:none}.detail-active-banner:not(:empty){margin-bottom:1rem}.detail-recent-log:empty{display:none}.detail-recent-log:not(:empty){margin-top:.75rem;max-width:28rem;margin-left:auto;margin-right:auto}.detail-current-reboot{margin-bottom:.75rem}.detail-logs-heading{margin:0 0 .5rem;font-size:.92rem;font-weight:650;color:#c8cfdd}.reboot-log{list-style:none;margin:0;padding:0;font-size:.82rem;border:1px solid #2a3142;border-radius:8px;overflow:hidden}.reboot-log li{display:flex;flex-wrap:wrap;gap:.35rem .85rem;padding:.45rem .65rem;border-bottom:1px solid #242a37}.reboot-log li:last-child{border-bottom:none}.reboot-log__when{color:#9aa3b5;flex:1 1 9rem}.reboot-log__who{color:#e8eaef;font-weight:550}#reboot-dial-root{display:flex;justify-content:center;margin:1rem 0 1.25rem}.reboot-dial{width:min(300px,88vw)}.reboot-dial__svg-wrap{position:relative;width:100%;aspect-ratio:1}.reboot-ring-svg{width:100%;height:auto;display:block}.reboot-dial__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.reboot-dial__center .btn{pointer-events:auto}.reboot-dial__btn{width:min(42vw,9.25rem);height:min(42vw,9.25rem);border-radius:50%;padding:.5rem!important;font-size:1rem;font-weight:700;line-height:1.15;box-shadow:0 4px 14px #00000059}.reboot-dial__status{display:block;max-width:9rem;text-align:center;font-size:.82rem;font-weight:600;line-height:1.35;color:#e8eaef;pointer-events:none}.reboot-dial__status--warn{color:#fecaca}.reboot-dial__status--err{color:#fca5a5}.reboot-dial__status--ok{color:#86efac;font-size:.95rem}.reboot-ring__dots-runner{animation:reboot-dot-marquee 1.35s linear infinite}@keyframes reboot-dot-marquee{to{stroke-dashoffset:-68}}.detail-health{margin-top:.5rem}.detail-health__phase{font-size:.88rem;font-weight:600;margin-bottom:.35rem;color:#c8cfdd}.detail-health__success{border-color:#2f6f4f!important;background:#14261f!important}.detail-actions{margin-top:1rem}.detail-actions .btn{width:100%}@media (min-width: 480px){.detail-actions .btn{width:auto}}
