.category_wrap { display: grid; grid-template-columns: 38% 1fr; gap: 20px; }
    .panel { border: 1px solid #ddd; border-radius: 8px; padding: 12px; }
    .tree ul { list-style: none; padding-left: 14px; margin: 6px 0; }
    .tree .node { padding: 4px 6px; border-radius: 6px; display: inline-block; }
    .tree a { text-decoration: none; color: #222; }
    .tree a.selected { background: #eef6ff; border: 1px solid #cde0ff; border-radius: 6px; }
    .meta { color:#777; font-size:12px; margin-left:6px; }
    table { width:100%; border-collapse: collapse; }
    th, td { border-bottom: 1px solid #eee; padding: 8px; text-align: left; }
    .pill { display:inline-block; padding: 2px 6px; border:1px solid #ddd; border-radius: 999px; font-size: 12px; color:#666; }
    .toolbar { display:flex; gap:8px; align-items:center; justify-content:space-between; }
    .muted { color:#777; font-size: 12px; }
    details > summary { cursor:pointer; margin: 6px 0; }
    .handle { cursor: grab; user-select: none; margin-right:6px; font-weight:600; }
    .row-selected {
      background: #eef6ff;
    }
    .row-selected a {
      font-weight: 600;
    }


    .inline-view { display: flex; gap: 6px; align-items: center; }
     .inline-edit, .inline-edit-child { display: none; gap: 6px; align-items: center; }
     .inline-edit input[type="text"],
     .inline-edit-child input[type="text"] { padding: 4px 6px; width: 260px; }


.alert { padding:8px 10px; border-radius:6px; margin-bottom:8px; white-space:pre-line; }
.alert.success { background:#eef9f0; border:1px solid #cfe9d3; }
.alert.error   { background:#fff4f4; border:1px solid #f1cdcd; }