/* FormSchemaBuilder.razor styles — visual editor за Category.FormSchema. */

.form-schema-builder {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.fsb-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.fsb-empty {
    text-align: center;
    padding: 2rem 1rem;
    background: var(--rz-base-100, #fafafa);
    border: 2px dashed var(--rz-base-300, #e0e0e0);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    color: var(--rz-text-secondary-color);
}
.fsb-empty small { font-size: 0.85rem; }

.fsb-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.fsb-item {
    border: 1px solid var(--rz-base-300, #e0e0e0);
    border-radius: 6px;
    background: white;
    overflow: hidden;
    transition: border-color 0.15s;
}
.fsb-item.expanded {
    border-color: var(--rz-primary, #0078d4);
}

.fsb-item-summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    user-select: none;
}
.fsb-item-summary:hover {
    background: var(--rz-base-50, #f6f6f6);
}

.fsb-handle {
    color: var(--rz-text-tertiary-color);
    font-size: 18px;
    cursor: grab;
}

.fsb-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.fsb-item-info small {
    color: var(--rz-text-secondary-color);
    font-size: 0.8rem;
}
.fsb-item-info code {
    background: var(--rz-base-100, #f0f0f0);
    padding: 0 4px;
    border-radius: 3px;
    font-size: 0.8em;
}

.fsb-item-actions {
    display: flex;
    gap: 4px;
}
.fsb-item-actions button {
    width: 28px;
    height: 28px;
    border: 1px solid var(--rz-base-300, #e0e0e0);
    background: white;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
}
.fsb-item-actions button:hover:not(:disabled) {
    background: var(--rz-base-100);
}
.fsb-item-actions button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.fsb-item-actions .fsb-delete:hover {
    background: var(--rz-danger-lighter, #fee);
    border-color: var(--rz-danger, #dc2626);
}

.fsb-edit-panel {
    padding: 1rem;
    background: var(--rz-base-50, #fafafa);
    border-top: 1px solid var(--rz-base-300, #e0e0e0);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.fsb-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

/* DynamicFieldRenderer — render на полиња од Category.FormSchema во NewTicket / TicketDetail. */
.dfr-container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.dfr-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.dfr-label {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--rz-text-color);
}
.dfr-required {
    color: var(--rz-danger, #dc2626);
    margin-left: 2px;
}
.dfr-help {
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color);
}
.dfr-value {
    padding: 6px 10px;
    background: var(--rz-base-50, #f7f7f7);
    border-radius: 4px;
    border-left: 3px solid var(--rz-primary, #0078d4);
    font-size: 0.95rem;
}
.dfr-placeholder {
    padding: 8px 12px;
    background: var(--rz-base-100);
    border-radius: 4px;
    color: var(--rz-text-secondary-color);
    font-size: 0.85rem;
    font-style: italic;
}
