/* Shared property/room editors. All rules stay inside the partner field component. */
.nle { color:var(--c-dark,#012824); min-width:0; margin-block:24px; }
.nle h3 { font-size:22px; margin-block:0 12px; }
.nle h4 { font-size:16px; margin-block:0 12px; }
.nle .fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.nle .field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.nle .full { grid-column:1/-1; }
.nle :is(input:not([type=checkbox]),select,textarea) { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:12px; border:1px solid #bdccca; border-radius:12px; background:#fff; color:#012824; font:inherit; }
.nle textarea { resize:vertical; }
.nle-group { margin-block:12px; border:1px solid #dce5e3; border-radius:16px; background:#fff; }
.nle-group > summary { cursor:pointer; min-height:48px; padding:16px 20px; font-weight:700; }
.nle-group[open] > summary { border-block-end:1px solid #e7eeec; }
.nle-group-body { padding:20px; }
.nle .nle-group .nle-group { border-radius:12px; }
.nle-list { border:0; padding:0; margin-block:24px; }
.nle-list legend { margin-block-end:12px; font-weight:700; }
.nle-list .chips { display:flex; flex-wrap:wrap; gap:8px; }
.nle-list .check-chip { min-height:44px; padding:8px 14px; border-radius:100px; display:flex; align-items:center; gap:8px; border:1px solid #bdccca; }
.nle-list .check-chip:has(:checked) { background:#b6fecc; border-color:#00de71; }
.nle input[type=checkbox] { accent-color:#012824; width:18px; height:18px; }
.nle .nle-upload { display:flex; flex-direction:column; gap:12px; padding:20px; margin-block-end:20px; border:1px dashed #7bb89a; border-radius:16px; background:#f1fff6; }
.nle-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.nle-media-card { min-width:0; border:1px solid #dce5e3; border-radius:16px; padding:16px; }
.nle-preview { width:100%; height:180px; object-fit:contain; background:#f4f7f6; border-radius:12px; margin-block-end:16px; }
.nle-media-actions { display:flex; flex-wrap:wrap; gap:8px; margin-block-start:12px; }
.nle .button { min-height:44px; border-radius:100px; white-space:normal; text-align:center; padding:10px 16px; }
.nle .button:disabled { opacity:.55; cursor:default; }
.nle-link-add { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-block-start:20px; }
.nle-link-add .field { flex:1 1 240px; }
.nle-faq { border-block-end:1px solid #dce5e3; padding-block:16px; }
.nle-faq-row { margin-block-end:16px; padding-block-end:16px; border-block-end:1px solid #edf1ef; }
.nle-faq-row > .button { margin-block-start:12px; }
.nle :is(input,textarea,select,button,summary):focus-visible { outline:3px solid #00de71; outline-offset:3px; }
@media(max-width:800px) { .nle-media-grid { grid-template-columns:1fr; } }
@media(max-width:540px) { .nle .fields { grid-template-columns:1fr; } .nle-group-body { padding:14px; } .nle-group > summary { padding:14px; } .nle-media-card { padding:12px; } .nle .nle-upload { padding:12px; } }
