.rte-shell { max-width: 100%; margin: 28px auto; font: 14px/1.4 system-ui, sans-serif; }
.jt-toolbar { margin-bottom: 10px; color:#555 }
.jt-editor {
    min-height: 120px;
    overflow-y: scroll;
    box-sizing: border-box;
    width: 100%;
    display: block;
    padding: 22px;
    border: 1px solid #ddd;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
}
.jt-editor:focus,
.json-tag:focus,
.jt-btn:focus {
  outline: none !important;
}
.jt-editor {
    white-space: normal;      /* lists behave normally */
  }
  .jt-editor ul { padding-left: 1.2rem; margin: .4rem 0; }
  .jt-editor li {
    margin: .2rem 0;
    margin-left: 15px;
}
/* Zwarte tag */
.json-tag {
    display: inline-flex; align-items: center; gap: .5rem;
    background: #000; color: #fff; border-radius: 999px; padding: 6px 12px;
    user-select: none; cursor: pointer;
}
.json-tag .badge { font-size: 12px; opacity: .8 }

/* --- Popup midden in scherm --- */
.jt-modal-backdrop {
    position: fixed; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.5);
    opacity: 0; visibility: hidden; transition: opacity .15s ease;
    z-index: 9999;
}
.jt-modal-backdrop.is-open { opacity: 1; visibility: visible; }
.jt-modal {
    width: min(800px, 92vw); background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,.2);
}
.jt-h { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #eee; }
.jt-h h3 { margin:0; font-size:16px; }
.jt-x { background: transparent; border: 0; font-size: 18px; cursor: pointer; }
.jt-b { padding: 16px; }
.jt-b textarea {
    width: 100%;
    height: 320px;
    font: 13px / 1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
    border: 1px solid #ddd;
    background: #ffffff;
    color: #000000;
    border-radius: 12px;
    padding: 20px;
    resize: vertical;
    box-sizing: border-box;
}
.jt-f { display:flex; align-items:center; justify-content:space-between; gap: 12px; padding: 14px 16px; border-top:1px solid #eee; }
.jt-btn { padding: 8px 14px; border-radius: 12px; border: 1px solid #ddd; background: #fff; color: #000; cursor: pointer; margin-bottom:5px; }
.jt-btn.black { background: #000; color:#fff; border-color:#000; }
.jt-err { color: #c62828; font-size: 13px; margin-top: 8px; display:none; }
kbd { border:1px solid #ddd; border-radius:6px; padding:2px 6px; font-size:12px; background:#fafafa }
.jt-modal code { background:#f4f4f4; padding:2px 6px; border-radius:6px; font-size:90%; width:auto; display: inline-block; }
.jt-btn.rounded { border-radius: 999px; font-size:100%; }
.jt-form-head code { background:#f6f6f6; padding:2px 6px; border-radius:6px; }
.jt-input:focus { outline: none; border-color:#999; box-shadow: 0 0 0 3px rgba(0,0,0,.06); }