.ft-properties { color: var(--ui-text-primary, CanvasText); }
.ft-properties h3 { font-size: 14px; margin: 10px 0; }
.ft-properties__field { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 8px; align-items: center; margin: 8px 0; }
.ft-properties input, .ft-properties select, .ft-properties textarea {
    box-sizing: border-box; width: 100%; min-width: 0; padding: 6px 8px;
    border: 1px solid var(--ui-border, currentColor); border-radius: 5px;
    background: var(--ui-input-bg, Canvas); color: var(--ui-text-primary, CanvasText);
    font: inherit;
}
.ft-properties textarea { resize: vertical; }
.ft-properties :disabled { opacity: 0.6; cursor: not-allowed; }
.ft-properties :focus-visible { outline: 2px solid var(--ui-focus-ring, Highlight); outline-offset: 1px; }
.ft-properties__message { color: var(--ui-text-secondary, CanvasText); min-height: 1.5em; }
html.no-borders .ft-properties input,
html.no-borders .ft-properties select,
html.no-borders .ft-properties textarea { border-color: transparent; }
