:root{color:#1b1f24;background:#f6f7f9;font-family:system-ui,sans-serif}body{margin:0}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c9ced6;border-radius:6px;padding:.45rem .9rem}button:disabled{opacity:.6}button.link{color:#0b5cad;background:0 0;border:none;padding:0;text-decoration:underline}input,select{font:inherit;box-sizing:border-box;border:1px solid #c9ced6;border-radius:6px;width:100%;padding:.4rem}label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.center{place-items:center;min-height:100vh;padding:1rem;display:grid}.card{background:#fff;border:1px solid #e3e6ea;border-radius:10px;margin-bottom:1rem;padding:1rem}.login{flex-direction:column;gap:.8rem;width:min(22rem,100%);display:flex}.login h1{margin:0}.shell header{background:#fff;border-bottom:1px solid #e3e6ea;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.shell nav{gap:.4rem;display:flex}.shell nav button.active{color:#fff;background:#1b1f24}.shell .user{margin-left:auto;font-size:.85rem}.shell main{padding:1rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;font-size:.9rem}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef0f3;padding:.5rem}tr.bad{background:#fdecec}.dot{border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.dot.ok{background:#1f9d55}.dot.off{background:#c62828}.muted{color:#5f6b7a}.small{font-size:.78rem}.error{color:#b3261e}.qr{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.qr canvas{max-width:100%;height:auto!important}.list{padding:0;list-style:none}.list li{border-bottom:1px solid #eef0f3;padding:.4rem 0}.secret{-webkit-user-select:all;user-select:all;background:#f1f3f6;border-radius:4px;padding:.3rem .5rem;font-size:1.1rem}td.actions{gap:.8rem;display:flex}pre.json,textarea.json{box-sizing:border-box;background:#f6f8fa;border:1px solid #e3e6ea;border-radius:6px;width:100%;max-height:32rem;padding:.6rem;font-family:ui-monospace,monospace;font-size:.82rem;overflow:auto}tr.selected{background:#eef4fb}.warn{color:#a15c00}.small-button{margin-left:.5rem;padding:.2rem .6rem;font-size:.8rem}.policy-form fieldset{border:1px solid #e3e6ea;border-radius:8px;margin:0 0 1rem;padding:.6rem .9rem .9rem}.policy-form legend{padding:0 .3rem;font-weight:600}label.check{flex-direction:row;align-items:flex-start;gap:.5rem;margin:.3rem 0}label.check input{width:auto;margin-top:.2rem}button.active-tab{color:#fff;background:#1b1f24}
